Phi*_*her 2 firebase firebase-security firebase-authentication
我正在为我的应用使用Firebase,并想知道如何阻止某些用户.我在控制台的Auth选项卡上看到,有"删除"和"禁用"选项.这些怎么办?我无法找到相关文档.其中一个允许我阻止用户吗?
阻止用户的意思是".read": "auth != null"规则阻止他访问数据库上的数据
ado*_*srs 12
该禁用功能在于防止用户进行身份验证.因此,如果他尝试进行身份验证,他将失败并显示错误代码,INVALID_CREDENTIALS并且他将无法访问具有该".read": "auth != null"规则的数据.它的工作方式就像删除了,但管理员仍然有权重新激活用户帐户.
如果要构建一个"阻止用户"列表,该列表将能够进行身份验证但具有受限访问权限,则可以将阻止的id存储在firebase数据库的节点中/databaseRoot/blockedUsers,然后使用security and rules.
".read": "auth != null && !root.child('blockedUsers').hasChild(auth.uid)"
Run Code Online (Sandbox Code Playgroud)
blockedUsers看起来像下面的树,但你也可以在userId下添加一些其他信息,例如该用户被阻止的日期.
/databaseRoot
/blockedUsers
userId1 : true
userId2 : true
Run Code Online (Sandbox Code Playgroud)
将用户添加到此列表将取决于您的需要.您可以通过访问firebase控制台并将用户ID添加到节点来手动执行此操作.或者,如果您想根据应用程序上的事件阻止用户,您可以简单地调用类似的东西
ref.child('blockedUsers').child(userIdToBlock).set(true);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5453 次 |
| 最近记录: |