Правила Firestore для создания пользователя - PullRequest
0 голосов
/ 25 мая 2020

Я новичок в firebase и пытаюсь использовать аутентификацию firebase вместе с базой данных firestore. Похоже, что вся безопасность заключается в установленных нами правилах, однако я хочу знать следующее:

  1. Можно ли применять правила на основе аутентификации пользователя без использования системы аутентификации firebase?
  2. Как я могу убедиться, что пользователи создаются только через мое приложение? Может ли кто-нибудь с моими учетными данными firebase (которые легко отображаются в браузере) добавлять пользователей в базу данных? Я понимаю, что в firestore нет блокировки на основе домена, но основано ли создание пользователя хотя бы на домене?

Спасибо!

1 Ответ

1 голос
/ 25 мая 2020

Firebase Authentication - единственный способ указать переменную request.auth в правилах безопасности. Поэтому, если вы хотите обеспечить безопасность на основе пользователя, вам необходимо создать этого пользователя в Firebase Authentication.

Однако вы можете:

  • Использовать анонимную аутентификацию для генерации UID для пользователей, не требуя от них ввода учетных данных.
  • Если у вас есть существующая система входа, вы можете подключить ее к Firebase Authentication как настраиваемый поставщик . Это сделает ваши данные пользователя доступными в request.auth в правилах безопасности.

Чтобы заблокировать доступ к вашей базе данных Firestore для пользователей из определенного домена c, вы должны использовать что-то вроде это в ваших правилах безопасности:

request.auth.token.email_verified && 
  request.auth.token.email.matches(".*@google.com")

Таким образом, это разрешает доступ только после того, как пользователь подтвердит адрес электронной почты в своем профиле, и если этот адрес электронной почты принадлежит ему из данного домена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...