Задать вопрос
dalv_happy
@dalv_happy

Как в Firestore разрешить доступ к документу, зная его id?

Добры день!

Необходимо реализовать чат на firestore между двумя анонимными пользователями. Имеется коллекция chats, со списком документов, нужно запретить доступ к получению списка всех документов коллекции, а разрешить доступ к документу если пользователь знает его идентификатор.

Пример:
Такой запрос должен вызвать ошибку у пользователя (permission denied)
firebase.firestore().collection("chats").get()

Такой запрос должен вернуть все поля документа
firebase.firestore().collection("chats").doc("fK3ddutEpD2qQqRMXNW5").get()


т.е. нужно обеспечить доступ к документу, если ты знаешь его идентификатор
  • Вопрос задан
  • 75 просмотров
Подписаться 1 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
  • Академия Эдюсон
    Fullstack-разработчик на JavaScript + ИИ
    11 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Инженер по тестированию
    6 месяцев
    Далее
Решения вопроса 1
dalv_happy
@dalv_happy Автор вопроса
Нашёл ответ:

Вы можете разбить правила чтения и список. Правила получения применяются к запросам отдельных документов, а правила для списка применяются к запросам и запросам коллекций (docs).

match /users/{userId} {

  //signed in users can get individual documents
  allow get: if request.auth.uid != null;

  //no one can query the collection
  allow list: if false;
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы