0

Firestoreセキュリティルールは機能しません。 私を助けてください。 ユーザー/ユーザーIDの文書データを読み取ることができませんでした。firestoreセキュリティルールrequest.auth.uidが動作していません

----------セキュリティの規則------------

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) 
     }) 
    }) 
    } 

}) 

firebase^4.8.0 VUE^2.5.0

明らかに、require.auth.uid適切に動作していないようです。 私はどこに間違いがありますか?

+0

それを解決することができましたか? – Hareesh

+0

ありがとうございます。 –

答えて

2

私は、ユーザーのキーとしてauth.uidキーを保存した自己

match /users/{user} { 
   allow read, write: if request.auth.uid == user 
   match/{docs = **} { 
      allow read, write: if request.auth.uid == user 
   } 
 } 

関連する問題