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")
Таким образом, это разрешает доступ только после того, как пользователь подтвердит адрес электронной почты в своем профиле, и если этот адрес электронной почты принадлежит ему из данного домена.