firebase firestore 安全规则,不起作用

问题描述 投票:0回答:1

我创建了一个聊天应用程序。结构如下:

聊天室 ->(子集合)消息 ->

在聊天室和消息文档中,有一个称为参与者的数组。

The security rules are as follows:

 rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
  // Chatrooms 
  match /chatrooms/{chatroomId} {
    allow read, update: if request.auth.uid in resource.data.participants;
    
    // Messages 
    match /chatrooms/{chatroomId}/messages/{messageId} {
      allow read, write: if request.auth.uid in resource.data.participants;
    }
  }
  
  // Users 
  match /users/{userId} {
    allow read: if request.auth != null;
    allow update: if request.auth.uid == userId;
  }
}

}

一切正常,但我无法阅读消息。我不明白。

聊天室和消息中存在相同的参与者。但为什么我读不到呢?请救救我。

两者具有相同的字段。这样做的部分原因是安全规则。但这不起作用...

在每条消息中,都会输入参与者,就像输入日期一样。

firebase security rules
1个回答
0
投票

只需删除多余的规则并将用户规则设置为

allow read,write: if true;
© www.soinside.com 2019 - 2024. All rights reserved.