Cloud Firestore ReactJS错误:缺少权限或权限不足

时间:2018-06-19 13:10:47

标签: reactjs firebase google-cloud-firestore firebase-security-rules

我对Cloud Firestore尤其是安全角色还很陌生,但是由于它们非常重要,所以我宁愿开始围绕它们的新项目构建。

现在作为基本的见解,我有一个仪表板,用户必须使用其电子邮件地址和密码登录,然后他们才能访问诸如区域信息之类的数据。首先从安全规则入手,我以为我会从简单开始,但正如标题所指出的那样:

Error: Missing or insufficient permissions

我看过https://firebase.google.com/docs/firestore/solutions/role-based-access

service cloud.firestore {
  match /databases/{database}/documents {
      match /regions/{region} {
        function isSignedIn() {
          return request.auth != null;
        }

        function getRole(rsc) {
          // Read from the "roles" map in the resource (rsc).
          return rsc.data.roles[request.auth.uid];
        }

        function isOneOfRoles(rsc, array) {
          // Determine if the user is one of an array of roles
          return isSignedIn() && (getRole(rsc) in array);
        }

                // Any role can read regions.
        allow read: if isOneOfRoles(resource, ['owner', 'writer', 'commenter', 'reader']);
        }
  }
}

我有一个区域集合,每个区域都有一个标题,以及一个角色地图,例如:

roles: {
(uid): "owner",
(uid2): "writer",
(uid3): "reader",
}

感谢您的帮助,我觉得我缺少真正简单的东西。 isSignedIn()的检查有效,但角色的检查无效。

0 个答案:

没有答案