【发布时间】:2018-05-28 06:26:08
【问题描述】:
Firestore 安全规则不起作用。 帮我。 无法读取用户/用户 ID 的文档数据。
---------安全规则------------
service cloud.firestore {
match /databases/{database}/documents {
match /users/{userId=**} {
// Missing or insufficient permissions.
allow read, write: if request.auth.uid == userId
// this is work.
//allow read, write: if request.auth != null
}
} }
-------------main.js--------
import Vue from 'vue'
import Quasar from 'quasar'
import firebase from 'firebase'
import 'firebase/firestore'
Vue.config.productionTip = false
Vue.use(Quasar)
let app;
firebase.initializeApp({
apiKey: "",
authDomain: "",
databaseURL: "",
projectId: "",
storageBucket: "",
messagingSenderId: ""
})
firebase.auth().onAuthStateChanged(user=> {
if (user) {
let ref = firebase.firestore().collection('users').doc(user.uid)
ref.get().then(snapshot=>{
// Error !! : Missing or insufficient permissions.
}
}
if(!app){
Quasar.start(() => {
app = new Vue({
el: '#q-app',
render: h => h(require('./App').default)
})
})
}
})
火力基地^4.8.0 Vue ^2.5.0
显然,require.auth.uid 似乎无法正常工作。 我哪里错了?
【问题讨论】:
-
您是否将 auth.uid 密钥保存为用户密钥?
-
@ShinyaUeda -
request.auth != null不适合我。尽管已登录应用程序并在 Firebase Auth 控制台中看到用户 UID,但我在使用com.google.firebase:firebase-firestore:17.1.0时遇到了这个问题。 -
@Hareesh,如果
request.auth != null不起作用,有什么调试建议吗?
标签: firebase vue.js firebase-authentication firebase-security google-cloud-firestore