Firestore规则:使用已定义的规则对空集合拒绝获取权限

时间:2020-04-24 09:21:22

标签: google-cloud-firestore permissions firebase-security permission-denied

我正在为我的Firestore规则中拒绝的许可而苦苦挣扎,无法弄清楚为什么得到这个。这是怎么回事:

我的Firestore数据库中有一个名为invitations的集合。目前,此收藏集中根本没有文档。

无论如何,我都会使用以下简单示例为其编写规则,以将我的uid作为userId属性获得邀请:

rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {
    match /invitations/{invitationId} {
      allow read: if request.auth.uid == resource.data.userId;
    }
  }
}

当我尝试使用我的uid仅获得邀请的特定查询来获取收藏时,我收到了来自Firestore的权限拒绝错误。即使我的收藏集为空,它也会发生。当我设置allow read: if true;之类的条件时,不再显示错误。

我还尝试了这种返回false的条件

allow read: if invitationId == 'idOfMyOnlyInvitation';

allow read: if resource.data.id == 'idOfMyOnlyInvitation';

有人对这个问题有线索吗?预先感谢您的帮助和时间。

1 个答案:

答案 0 :(得分:0)

我的查询搞砸了。抱歉打扰了。

相关问题