【发布时间】:2020-04-20 05:00:51
【问题描述】:
目标:只有经过身份验证的“所有者”用户才能在“某些集合”中读取/写入他们的文档。
示例查询:/users/peter/some-collection/myDoc
用户节点有一个字符串 uid 字段,这在许多 Firebase 规则示例中很常见。
我已经阅读了所有文档,它说您可以在路径中放置一个 {variable} 并使用 $ 来引用它,但是我无法使用在线数据库规则编辑器来“编译”这个规则:
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /users/{user}/some-collection/{doc} {
allow read, write: if request.auth.uid == $(user).data.uid;
}
}
}
我正在尝试通过在用户/帐户级别验证 uid 来允许访问用户的子集合。
它不喜欢美元符号:
保存规则时出错 - 第 26 行:意外的“$”。
【问题讨论】:
-
我不清楚您要做什么。对于有关安全规则的问题,显示规则应允许的实际查询总是有帮助的,准确说明应匹配的文档以及它们包含的内容。
标签: google-cloud-firestore firebase-security