Firestore给我错误:PERMISSION_DENIED:缺少权限或权限不足

时间:2020-05-20 05:02:25

标签: firebase flutter google-cloud-firestore firebase-security

我正在尝试从Firestore数据库中获取数据。我做了以下事情:

Firestore.instance.collection('highScore').document('gGSIHVzDIjX1UCq7Pk8q').get().then((DocumentSnapshot ds) {
          print(ds);
        });

运行此行时,出现以下错误:PERMISSION_DENIED:缺少权限或权限不足。

我尝试将Firestore规则修改为:

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

但是我仍然遇到相同的错误。我在做什么错,该如何解决?

1 个答案:

答案 0 :(得分:0)

如果如注释中所述,您的目标是允许任何人读写您的整个数据库:

rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write;
    }
  }
}

这是非常不安全的,如果您这样做,Firebase会向您发送电子邮件,说明您的情况。您应该尽快实施适当的规则,以使整个Internet无法对您的数据做任何想做的事情。