Как добавить правило безопасности Firebase для проверки наличия электронной почты зарегистрированных пользователей в списке

#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} является шаблоном для представления документов в этой коллекции.