我使用Firebase Quickstarts for Android Auth示例,然后我在firebase仪表板中创建了一个用户,使用电子邮件和密码登录用户,用户成功登录.
但是当我删除用户时,它仍然登录并显示旧用户的电子邮件(user.getEmail())
// [START auth_state_Listener] mAuthListener = new FirebaseAuth.AuthStateListener() { @OverrIDe public voID onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) { FirebaseUser user = firebaseAuth.getCurrentUser(); if (user != null) { // User is signed in Log.d(TAG, "onAuthStateChanged:signed_in:" + user.getEmail()); } else { // User is signed out Log.d(TAG, "onAuthStateChanged:signed_out"); } // [START_EXCLUDE] updateUI(user); // [END_EXCLUDE] } }; // [END auth_state_Listener]
我的firebase仪表板中的用户和AuthStateListener都没有用户登录的用户.
怎么可能呢?
解决方法:
删除帐户不会自动使该帐户的当前会话失效.他们目前的会议将一直有效,直到他们到期.您可以在Firebase信息中心中设置会话到期时间间隔.
如果你想要force the user to be logged out,请调用ref.unauth().
但一般情况下,您可能希望构建授权规则,以防止具有已删除帐户的有效令牌的用户对数据进行更改.
当用户更新其电子邮件,密码或重置其密码时. Firebase Auth后端撤销其令牌,要求他们重新进行身份验证或尝试重新登录.这是一项安全功能.例如,如果用户的帐户遭到入侵,用户可能会重置密码.所有其他会话必须重新进行身份验证.
如果将用户配置文件保留在数据库中,则可以检查安全规则中是否仍存在该记录:root.child(‘users’).child(auth.uID).exists().
另见:
> Firebase authentication not revoked when user deleted?
> Deletion of User in firebase does not trigger onAuth method
以上是内存溢出为你收集整理的android – 为什么firebase用户在从firebase仪表板中删除后仍然登录全部内容,希望文章能够帮你解决android – 为什么firebase用户在从firebase仪表板中删除后仍然登录所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)