使用授权规则呼叫Firestore

时间:2019-05-08 15:15:32

标签: firebase react-native google-cloud-firestore firebase-security-rules

我最近将Firestore规则更改为以下规则:

service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
        allow read, write: if request.auth.uid != null;
    }
  }
}

这仅应允许经过身份验证的用户访问Firestore。我使用react-native作为前端框架,如果用户尚未登录,它将以匿名方式登录用户。因此,所有发送到firestore的请求均来自经过身份验证的用户(匿名或已登录)。 但是,在我更新规则之后,该应用程序并未从Firestore中获取任何内容。更新Firestore规则后,前端必须进行任何更改吗?

[UPDATE] react-native引发此错误:FirebaseError: [code=permission-denied]: Missing or insufficient permissions.

1 个答案:

答案 0 :(得分:0)

您在那里有一个额外的match语句,这使事情变得混乱。如果您只希望所有经过身份验证的用户都具有完整的Firestore数据库的读写权限,则可以使用:

service cloud.firestore {
  match /databases/{database}/documents {
    allow read, write: if request.auth.uid != null;
  }
}