Firestore安全规则和Api密钥

时间:2019-03-25 16:49:02

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

在我的nuxt应用程序中,使用api键的firestore db调用出现问题。

如果我使用默认的安全规则,那就没问题了。 但是当我使用谷歌推荐的规则时:

allow read, write: if request.auth.uid != null; 

我收到此错误。

Error getting documents:  FirebaseError: "Missing or insufficient permissions."

 FirestoreError index.cjs.js:352 fromRpcStatus index.cjs.js:5844 fromWatchChange index.cjs.js:6341 onMessage index.cjs.js:14912 startStream index.cjs.js:14841 getCloseGuardedDispatcher index.cjs.js:14881 newTail index.cjs.js:7636 

我的Firestore配置文件,信息和API密钥在我的文件配置中正确无误。我正在使用项目=>全局设置=> apikey中的API密钥:

import firebase from 'firebase'

var config = {
    apiKey: "",
    authDomain: "",
    databaseURL: "",
    projectId: "",
    storageBucket: "",
    messagingSenderId: ""
};

if (!firebase.apps.length) {
    firebase.initializeApp(config)
}
export const db = firebase.firestore();
export default firebase

1 个答案:

答案 0 :(得分:1)

此规则:

allow read, write: if request.auth.uid != null; 

表示对匹配文档的所有访问只能来自经过身份验证的用户。身份验证必须通过集成到应用程序中的Firebase身份验证来完成。该规则将拒绝用户当前未登录或未使用Firebase身份验证的任何访问。