javascript - Firestore: FirebaseError: Permisiuni lipsă sau insuficiente
Am următoarea regulă:
rules_version = '2';
service cloud.firestore {
match /documents/{any} {
allow read, write: if request.auth.uid != null
}
match /users/{any} {
allow read, write: if request.auth.uid != null
}
}
Deci practic, vreau ca utilizatorii autentificați să poată citi/scrie în colecțiile users și documents. Dar încerc să scriu atunci când creez un utilizator și mă autentific:
const registerRes = await firebase
.auth()
.createUserWithEmailAndPassword(email, password);
await registerRes.user.updateProfile({
displayName: fullName
});
registerRes.user.sendEmailVerification();
await firebase.firestore().collection('users').doc(registerRes?.user?.uid).set({...someStuff});
Dar primesc o eroare:
FirebaseError: Missing or insufficient permissions.
Nu sunt sigur ce fac greșit. Orice ajutor ar fi foarte apreciat - mulțumesc!
Răspuns #1
Așa cum este explicat în document, trebuie să incluzi regulile specifice pentru calea ta într-un bloc match /databases/{database}/documents astfel:
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /documents/{any} {
allow read, write: if request.auth.uid != null
}
match /users/{any} {
allow read, write: if request.auth.uid != null
}
}
}
Notă laterală: Fiți conștienți că regulile care se bazează doar pe request.auth.uid != null nu securizează cu adevărat baza de date, vedeți acest răspuns de pe SO.
