我一直在尝试为我的Firebase数据库创建一些规则,但是似乎我遇到了障碍,或者(希望)我没有得到一点建议。
我的数据结构看起来像这样:
units
<custom user id eg. 1234>
unit1
unit2
...
users
<custom user id eg. 1234>
name
email
phone
...
node3
<custom user id eg. 1234>
object1
object2
...
我想做的是创建规则,仅允许ID为1234(显然与Firebase身份验证中的用户uid不同)的用户访问其节点。
有什么办法可以做到这一点?
答案 0 :(得分:2)
我不确定您为什么不使用Firebase身份验证用户UID而不是自定义UID,但可以:)
如果您在数据库中某个地方在Firebase身份验证UID和自定义UID之间进行了映射(例如,您已将用户1234的Firebase Auth UID保存在mapping / 1234 / authUID中),则可以这样编写数据库规则:>
"users": {
"$customUserUid": {
".write": "root.child('mapping').child($customUserUid).child('authUID').val() === auth.uid"
}
}