我在我的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密钥都在我的文件配置中更正。我在project => global setting => 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
这条规则:
allow read, write: if request.auth.uid != null;
是说所有对匹配文档的访问都只能来自经过身份验证的用户。必须通过集成到应用中的Firebase身份验证来完成身份验证。该规则将拒绝用户当前未登录的任何访问权限,或者Firebase身份验证未在使用中的访问权限。