#firebase #firebase-security
#firebase #firebase-безопасность
Вопрос:
Я пытаюсь добавить правило безопасности, которое должно предоставлять доступ на запись, учитывая, что зарегистрированный пользователь находится в списке внутри записи.
Т.е. в моей записи «турнир» есть список официальных лиц, в который я помещаю электронные письма тех, кто должен иметь возможность изменять турнир.
У меня это не работает, поэтому я предполагаю, что в моем правиле есть какая-то ошибка.
match /tournaments {
allow read: if request.auth.uid != null;
allow write: if request.auth.token.email in resource.data['officials'];
}
Комментарии:
1. Это должно быть похоже
match /tournaments/{tournamentID}
2. Это сделало свое дело! Большое спасибо!
Ответ №1:
В написанном вами правиле отсутствует некоторый синтаксис. Правило должно быть таким, как указано ниже:
match /tournaments/{tournamentID} {
allow read: if request.auth.uid != null;
allow write: if request.auth.token.email in resource.data['officials'];
}
/tournaments/{tournamentID}
Указывает, что правило будет применяться ко всем документам, присутствующим в коллекции tournament, и {doc_id}
является шаблоном для представления документов в этой коллекции.