我无法从 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() 在 android 和 ios 中注销用户。我测试了它。之后 CurrentUser 应该为 null(在 iOS 中为 nil)。如果没有,您的其他代码可能使应用程序或活动崩溃,阻止该过程完成 - 这就是发生在我身上的事情。
不需要 onAuthStateChanged。
【讨论】:
以上是关于我无法从 firebase 退出,但用户仍然不是 null的主要内容,如果未能解决你的问题,请参考以下文章