Как установить правила безопасности в файле firestore.rules? - PullRequest
0 голосов
/ 07 июля 2019

У меня есть две коллекции:

  • private_books

  • public_books

Я хочу, чтобы public_books (все его подкатегории) были доступны только для admin (node.js) и private_books (все его подкатегории) только для авторизованных пользователей (вошедших в систему с учетными записями) и admin обоих.

Как мне этого добиться? Я новичок в Firebase.

В настоящее время Firestore находится в тестовом режиме, каждый может получить доступ к этим коллекциям.

Редактировать: поскольку нет необходимости добавлять правила для администратора Firebase. Мне нужны правила безопасности для коллекции public_books, чтобы никто не мог редактировать или изменять эту коллекцию, и другое правило безопасности для коллекции private_books, чтобы только авторизованные пользователи могли просматривать эту коллекцию.

1 Ответ

0 голосов
/ 07 июля 2019

Вам не нужно писать какие-либо правила для доступа с помощью кода на стороне сервера, используя Firebase Admin SDK. Он всегда будет иметь полный доступ ко всему, независимо от того, что вы пишете в правилах.

Документация содержит инструкции по требованию аутентификации для доступа к документам в коллекции. Скопировано по этой ссылке:

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

service cloud.firestore {
  match /databases/{database}/documents {
    // Allow the user to access documents in the "cities" collection
    // only if they are authenticated.
    match /cities/{city} {
      allow read, write: if request.auth.uid != null;
    }
  }
}

Просто замените «города» названием вашей коллекции.

...