我无法从 firebase 退出,但用户仍然不是 null

Posted

技术标签:

【中文标题】我无法从 firebase 退出,但用户仍然不是 null【英文标题】:I can't sign out from firebase, still user is not 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 给该用户。如果不确定,抓住一些东西分享一下 【参考方案1】:

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

不需要 onAuthStateChanged。

【讨论】:

以上是关于我无法从 firebase 退出,但用户仍然不是 null的主要内容,如果未能解决你的问题,请参考以下文章

如何让用户在 Firebase 中退出?

尽管从 Firebase 添加了项目,但 ArrayList 的大小仍然为零

Flutter Firebase 注销

Firebase在一定时间后无法与数据库连接

如何检查用户是不是从游戏服务默认视图中退出?

我无法登录。即使我在Firebase中输入了电子邮件和密码,它仍然会保持Saying Error Logging