flutter应用程序无法与Firebase云数据库保持一致

时间:2020-05-02 10:01:14

标签: firebase flutter dart google-cloud-firestore

我已将Firebase云数据库规则设置为默认

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

但是当我的Flutter应用尝试与之交互时,会发生此错误

执行获取错误,PERMISSION_DENIED:缺少权限或权限不足。,空

1 个答案:

答案 0 :(得分:1)

这种情况:

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

意味着您不允许在Firestore中进行读写操作,可以将规则更改为以下内容:

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

这将允许您读取但不能写入数据库,或者可以使用以下内容:

rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write: if request.time < timestamp.date(2020, 9, 20);
    }
  }
}

仅将上述规则用于测试,请在此处检查:

https://firebase.google.com/docs/firestore/security/rules-structure