Как написать правило безопасности базы данных firestore, не используя firebase аутентификацию - PullRequest
0 голосов
/ 29 мая 2019

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

Другое дело, что я использую аутентификацию по номеру телефона для отправки и проверки OTP. Таким образом, запись пользователя доступна в аутентичном списке.

Я получаю request.resource.data.userUid из запроса и проверяю, существует ли этот userUid в списке аутентификации.

match /user/{docId} {
allow read, write: if exists(/databases/$(database)/documents/user/$(request.resource.data.userUid))
}

Обычно из любой таблицы мы можем проверить вот так. Но я не нашел способа получить доступ к списку аутентификации.

Любой способ написать правило безопасности в соответствии с моим требованием или мне нужно изменить мой процесс аутентификации?

1 Ответ

0 голосов
/ 29 мая 2019

Если вы не используете проверку подлинности Firebase, вы не можете использовать правила безопасности для управления доступом к определенным пользователям. Другого способа проверить личность лица, сделавшего запрос, не существует. request.auth всегда будет нулевым в этом случае.

В случае, если вы не знали, Firebase Auth обеспечивает аутентификацию по номеру телефона . Вы должны использовать это вместе с Cloud Firestore для эффективной реализации правил безопасности.

...