android– 如何在Firebase Auth中检查用户是否被禁用

android– 如何在Firebase Auth中检查用户是否被禁用,第1张

概述我有一个使用FirebaseAuth实现的登录系统,但每当我禁用任何用户时,他/她仍然可以被记录.但是当他/她退出并自己登录他/她时,禁用系统正在运行.那么每次检查用户是否被禁用,我应该怎么做?有什么功能吗?谢谢.解决方法:如果禁用或删除用户帐户并不意味着它也会激活身份验证状态更改

我有一个使用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中检查用户是否被禁用所遇到的程序开发问题。

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

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存