我正在为我的应用使用 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/