这是一篇寻求建议类型的帖子
我想要两种用户类型:
我将仅使用 Firebase 进行身份验证部分。现在让我们看看我的用户可以做什么:
这是我的管理员可以执行的操作:
我的问题是我可以仅使用 Firebase 和 ReactJS 来完成所有这些工作吗? 或者我需要自定义后端吗?
如果我只想要 RBAC,我的管理员和用户身份验证规则应该是什么样子?
这样就够了吗?(在一篇文章中找到的):
{
"rules": {
"users": {
"$user": {
".write": "auth !== null && ((auth.token.isAdmin === true && data.child('isAdmin').val() === false) || auth.uid === $user)",
".read": "auth !== null && ((auth.token.isAdmin === true && data.child('isAdmin').val() === false) || auth.uid === $user)"
},
".write": "auth !== null && auth.token.isAdmin === true",
".read": "auth !== null && auth.token.isAdmin === true"
}
}
}
安全规则足以满足您想要做的事情。您当前的安全规则允许用户仅读取/写入自己的节点,而管理员可以读取/写入任何用户的数据。
自定义后端只是您使用 Admin SDK 并自行授权用户而不是使用安全规则的替代方案。但这对于您想要做的事情来说听起来有点过分了,除非您需要做其他事情,例如在添加数据库之前处理数据。
你能给我你的代码或 git 链接吗?我想在我的项目中使用 Firebase 和 ReactJS 进行基于角色的身份验证