android– 为什么firebase用户在从firebase仪表板中删除后仍然登录

android– 为什么firebase用户在从firebase仪表板中删除后仍然登录,第1张

概述我使用FirebaseQuickstartsforAndroidAuth示例,然后我在firebase仪表板中创建了一个用户,使用电子邮件和密码登录用户,用户成功登录.但是当我删除用户时,它仍然登录并显示旧用户的电子邮件(user.getEmail())//[STARTauth_state_listener]mAuthListener=newFirebas

我使用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仪表板中删除后仍然登录所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/web/1101012.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存