Angularjs 在Ionic应用程序中通过Firebase登录Facebook时如何避免重新身份验证

Angularjs 在Ionic应用程序中通过Firebase登录Facebook时如何避免重新身份验证,angularjs,facebook,firebase,ionic-framework,firebase-authentication,Angularjs,Facebook,Firebase,Ionic Framework,Firebase Authentication,我正在尝试使用Firebase在我的Ionic应用程序中使用Facebook功能实现登录。第一次登录设备工作正常,但如果我先注销,然后尝试重新登录,则需要大约1分钟。我相信这是因为用户被重新认证了。这是我的职责: facebookLogin(){ this.facebook.login(["email"]).then((loginResponse) => { let credential = firebase.auth.FacebookAuthProvider.credential(

我正在尝试使用Firebase在我的Ionic应用程序中使用Facebook功能实现登录。第一次登录设备工作正常,但如果我先注销,然后尝试重新登录,则需要大约1分钟。我相信这是因为用户被重新认证了。这是我的职责:

 facebookLogin(){
this.facebook.login(["email"]).then((loginResponse) => {
  let credential = firebase.auth.FacebookAuthProvider.credential(loginResponse.authResponse.accessToken);
  firebase.auth().signInWithCredential(credential).then((info) => {
    alert(JSON.stringify(info));
  });
});
}

我在这里找到了一些关于避免不必要的重新身份验证的信息:“高级:手动处理登录流”。我不知道如何在函数中实现这一点,以避免每次都重新验证用户


谢谢你抽出时间

你说花一分钟是什么意思?为什么这与-重新验证有关?当我按下登录按钮时,加载动画会运行大约一分钟,然后成功登录。我不知道这是否与重新授权有关,但这是我想到的唯一可能的解决方案。奇怪的是,facebook登录在Ionic auth上的行为也是一样的。你能找出哪一个呼叫挂起一分钟吗?是调用
this.facebook.login
还是调用
firebase.auth().signiWithCredential
等。我将我的函数更改为:facebookSignIn(){let provider=new firebase.auth.facebooksauthProvider();firebase.auth().signiWithRedirect(provider);firebase.auth().getRedirectResult()。然后((用户)=>{console.log(“成功登录facebook!”);this.navCtrl.setRoot('HomePage');}).catch((error)=>{alert(error.message);}});}它现在工作得很好。很酷,很高兴它现在能工作。