Add firestore security rules example

This commit is contained in:
2019-03-23 11:09:02 +07:00
parent 5cd05f1d60
commit b79f31e7de

29
data/firestore-rules.txt Normal file
View File

@@ -0,0 +1,29 @@
service cloud.firestore {
match /databases/{database}/documents {
function isAuthenticated() {
return request.auth.uid != null;
}
function isAdmin() {
return isAuthenticated()
&& get(/databases/$(database)/documents/userData/$(request.auth.uid)).data.isAdmin == true;
}
match /articles/{document=**} {
allow read: if true;
allow write: if isAdmin();
}
match /articleParts/{document=**} {
allow read: if isAuthenticated()
&& get(/databases/$(database)/documents/userData/$(request.auth.uid))
.data
.articles[resource.data.articleId] != null;
allow write: if isAdmin();
}
match /userData/{userId} {
allow read, write: if isAuthenticated() || isAdmin();
}
}
}