【发布时间】:2018-10-19 09:49:45
【问题描述】:
我正在使用 Firebase,并且 users 具有以下架构:
{
"uid": "randomUID",
"domain": "@domain1"
}
我有一个集合 domains,其中包含所有用户的域,如下所示:
{
"@domain1": {
"uid": "randomUID"
}
}
我正在尝试使用 Firestore 安全规则,以防止创建与现有用户具有相同域的新用户。这是我目前所拥有的:
service cloud.firestore {
match /databases/{database}/documents {
match /users/{Id} {
allow read: if true;
allow create: if exists(/databases/$(database)/documents/domains/$(resource.data.domain)) == false;
}
}
但它不起作用。我还尝试了以下允许创建规则的组合,但都没有奏效:
if !exists(/databases/$(database)/documents/domains/$(resource.data.domain));
和
if !exists(/databases/$(database)/documents/domains/$(request.resource.data.domain));
有什么想法或建议吗?调试安全规则很棘手,因为还没有调试器。
【问题讨论】:
标签: firebase google-cloud-firestore firebase-security