Firebase规则-用户只能编辑其数据

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

我有一个firebase项目,并且正在使用FirebaseAuth和firebase数据库。

我只有一个名为baby的集合,具有名称(String),userId(String)和投票(Integer)属性。 userId包含创建者的user.uid。

我想创建一个规则,以便只有创建者用户才能更新或删除文档。任何人都可以阅读,注册用户可以创建。

所以我有以下规则:

rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {
    match /baby/{userId} {
        allow read;
      allow create: if request.auth.uid != null;      
      allow update, delete: if request.auth.uid == userId;
    }
  }
}

这样,任何人都可以阅读,注册用户可以创建。但是,具有uid = userId的用户无法更新。谁知道问题出在哪里?

我已经检查了数据库,并且文档的userID属性正确(与用户uid相同)。

谢谢

firebase google-cloud-firestore firebase-authentication firebase-security-rules
1个回答
0
投票

[最有可能{userId}不是文档ID,因此request.auth.uid{userId}不同

[在创建文档时请确保指定文档ID,它应能按预期工作。

© www.soinside.com 2019 - 2024. All rights reserved.