【发布时间】:2020-12-21 23:50:10
【问题描述】:
我有一个以预测结构写入的 Firebase 实时数据库。
有没有办法使用规则验证已验证用户的 UID 是否匹配其中一个数据输入值?
I know it is possible to validate this using values from the tree structure,但就我而言,我想将 UID 与输入 JSON 中的数据进行比较。
例如,在我的例子中,输入数据是以下 JSON 数据结构:
{ "UserID": "SOME_UID", "UserName": "SOME_USERNAME", "CompletionMoves": 3, "CompletionTime": 12.345 }
它被发布到一个位置,其中包括一个级别名称,然后是用户的 UID,类似于/Level3/SOME_UID。
我想验证用户的 UID 是否等于数据中 UserID 的值。
我想尝试以下规则逻辑,但由于某种原因在 uid 比较行上的测试失败:
{
"rules": {
"$level": {
"$uid" : {
".read": "auth != null",
".write": "auth != null
&& newData.child($level).child($uid).child('UserID').val() == auth.uid",
}
}
}
}
有人知道我错过了什么吗?提前致谢!
【问题讨论】:
标签: firebase firebase-realtime-database firebase-security