firebase - 如何在 Firebase 上阻止用户?

标签 firebase firebase-security firebase-authentication

我正在为我的应用使用 Firebase,并且想知道如何阻止某些用户。我在控制台的“身份验证”选项卡上看到,有“删除”和“禁用”选项。那些是做什么的?我无法找到这方面的文档。其中之一允许我阻止用户吗?

我所说的阻止用户的意思是通过".read": "auth != null"规则来阻止他访问数据库上的数据

最佳答案

禁用功能包括阻止该用户进行身份验证。因此,如果他尝试进行身份验证,他将失败并显示错误代码 INVALID_CREDENTIALS,并且他将无法访问具有 ".read": "auth != null" 的数据> 规则。就像他被删除一样,但管理员仍然有权重新激活用户帐户。

如果您想构建一个“被阻止的用户”列表,这些用户能够进行身份验证,但访问权限受到限制,您可以将被阻止的 ID 存储在 Firebase 数据库的节点中,例如 /databaseRoot/blockedUsers,然后使用安全和规则

".read": "auth != null && !root.child('blockedUsers').hasChild(auth.uid)"
<小时/>

blockedUsers 可能类似于下面的树,但您也可以在 userId 下添加一些其他信息,例如该用户被阻止的日期。

/databaseRoot
    /blockedUsers
       userId1 : true
       userId2 : true

将用户添加到此列表将取决于您的需要。您可以通过访问 firebase 控制台并将用户 ID 添加到节点来手动执行此操作。或者,如果您想根据应用程序上的事件阻止用户,您可以简单地调用类似的内容

ref.child('blockedUsers').child(userIdToBlock).set(true);

关于firebase - 如何在 Firebase 上阻止用户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37908795/

相关文章:

swift - 使用第二个 .child 方法从 Firebase 数据库检索数据

android - 没有firebase的谷歌登录

javascript - 使用 Rest API 进行 Firebase 身份验证

android - Firestore 多账户登录

javascript - 如何在外部 Javascript 文件中使用 Firebase

c# - 从需要身份验证的 Firebase 数据库加载数据会抛出错误 firebase 无法解析身份验证 token

javascript - 唯一键中的 Firebase indexOn 规则

firebase-realtime-database - Firebase 实时数据库的这些默认安全规则是什么意思?

javascript - firebase 多路径更新和每个路径的规则

java - 在Firebase上注册帐户后,用户如何在验证电子邮件之前无法登录?