我有一个使用Firebase Auth实现的登录系统,但每当我禁用任何用户时,他/她仍然可以被记录.
但是当他/她退出并自己登录他/她时,禁用系统正在运行.
那么每次检查用户是否被禁用,我应该怎么做?
有什么功能吗?
谢谢.
解决方法:
如果禁用或删除用户帐户并不意味着它也会激活身份验证状态更改.它也不应该,因为用户仍然在应用程序中进行身份验证.您需要知道,在最多一个小时内,Firebase身份验证将尝试刷新已禁用或删除的特定用户的访问令牌.但在这种情况下,刷新将失败,此时用户将变为未经身份验证.这是auth状态更改事件将触发的点.
如果要立即撤消用户的授权,则必须在应用程序逻辑的另一部分中执行此 *** 作. Firebase的一个常见做法是在数据库中创建一个名为blackList的新节点,如下所示:
Firebase-root | --- bannedUsers | uIDOfBannedUser: true
现在,当您在Firebase控制台中删除/禁用用户帐户时,还需要将coreponding uID添加到数据库中禁止用户的列表中.
然后,可以在Firebase Database Security Rules的帮助下保护数据库免受未授权用户的访问.这可以通过在数据库安全规则中添加一个子句来完成,如下所示:
{ "rules": { "bannedUsers": { ".read": true, ".write": false // only admins can write these }, "messages": { ".read": "auth != null && !root.child('bannedUsers').child(auth.uID).exists()" } }}
如果使用不同的后端,则实现方式会有所不同.可以有更多示例,但像这样的黑名单是禁止用户的常用方法.你会发现你甚至可能对他们只禁止它们的身份验证关注不够,而不是删除他们可以简单地重新创建的凭据.
总结以上是内存溢出为你收集整理的android – 如何在Firebase Auth中检查用户是否被禁用全部内容,希望文章能够帮你解决android – 如何在Firebase Auth中检查用户是否被禁用所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)