Google FireStore Auth существует правило
У кого-нибудь есть головы вокруг этого аутентичного бизнеса? У меня есть медсестры (пользователи) и пациенты, и я хочу дать медсестрам разрешение на некоторые записи пациентов.
Теперь (отбрасывая все, что я знаю о реляционных базах данных), я поставил разрешения для каждого пациента, где каждое разрешение имеет идентификатор пользователя / медсестры.
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write:
if get(/databases/$(database)/documents/
patients/89QL8XXXXFf/
permissions/KZztXXXXXRf1)!=null;
}
}
}
..хорошо понял...
1 ответ
Решение
service cloud.firestore {
match /databases/{database}/documents{
//define the database variable, use it later as $(database)
match /patients/{patientId}{
//define variable patientId, use later as $(patientId)
allow read, write:
// if exists(/databases/$(database)/documents //WORKS
// /patients/$(patientId)
// /permissions/$(request.auth.uid))
if get(/databases/$(database)/documents //WORKS
/patients/$(patientId)
/permissions/$(request.auth.uid)).data.write == true;
//you have to get(...).data.myProperty
}
// match /{document=**} {
// allow read,write: if false;
// }
}
}