【问题标题】:I can't sign out from firebase, still user is not null我无法从 firebase 退出,但用户仍然不是 null
【发布时间】:2018-07-02 02:53:52
【问题描述】:

执行这段代码:

 firebase.auth().signOut();

虽然用户注销,user.getIdToken 会生成新令牌。用户不为空。

firebase.auth().onAuthStateChanged(function(user) {
    if (user) {
        user.getIdToken(true).then((token) => console.log(token)).catch((err) => { console.log(err)});
    } else {

    }
});

【问题讨论】:

  • 分享错误截图.....!
  • 没有错误。问题是,虽然用户注销,但 user.getIdToken 会生成新令牌。当用户注销时,用户对象必须为空。 firebase.auth().onAuthStateChanged( user => console.log(user)) //Log: null 但是尽管用户注销,用户不为空。
  • 您确定用户正在退出吗? firebase.auth().signOut().then(function() { console.log('Signed Out'); }, function(error) { console.error('Sign Out Error', error); }); 试试这个确定
  • 捕获错误。虽然用户登录,firbase.auth().currentUser = null :/ @PeterHaddad
  • 如果您确定该用户已注销,则将 null 给该用户。如果不确定,抓住一些东西分享一下

标签: javascript firebase firebase-authentication


【解决方案1】:

firebase.auth().signOut() 在 Android 和 iOS 中注销用户。我测试了它。之后 CurrentUser 应该为 null(在 iOS 中为 nil)。如果没有,您的其他代码可能使应用程序或活动崩溃,阻止该过程完成 - 这就是发生在我身上的事情。

不需要 onAuthStateChanged。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-09
    • 1970-01-01
    • 2012-02-27
    相关资源
    最近更新 更多