Есть ли способ авторизации пользователей только с существующим аккаунтом? - PullRequest
0 голосов
/ 15 марта 2020

Я работаю над мобильным приложением, в котором я использую Google SignIn для Auth, есть ли способ авторизации пользователей только с существующим аккаунтом?

1 Ответ

1 голос
/ 16 марта 2020

Запретить пользователям создавать новые учетные записи? Я искал то же самое, не находя способа сделать это с любым параметром проекта Firebase.

Я полагаю, что решение заключается в том, чтобы рассмотреть разницу между аутентификацией и авторизацией . Служба аутентификации Firebase названа удачно. Он делает аутентификацию - подтверждает, что пользователь на самом деле является тем, кем он себя считает. Он не выполняет authorization - контролирует, какие действия разрешено выполнять аутентифицированным пользователям или к каким данным они могут получить доступ в приложении. Разработчики приложений должны нести ответственность за управление правами пользователя .

Один из способов сделать это - сохранить коллекцию «авторизованных пользователей», например, в Firestore. Когда пользователь аутентифицирует , ваше приложение выполнит поиск, чтобы увидеть, действительно ли текущий пользователь авторизован или нет. Правила безопасности могут быть написаны для Firestore и Firebase Cloud Storage, чтобы также проверить, что текущий пользователь находится в коллекции «авторизованных пользователей», прежде чем разрешить доступ к данным. Но это требует дополнительных запросов данных для получения этой информации авторизации.

Метод авторизации, который я предпочитаю, заключается в использовании пользовательских утверждений, которые можно назначить с помощью библиотеки администратора Firebase. Пользовательская заявка может быть добавлена ​​к существующей учетной записи пользователя, которая может выступать в качестве флага, указывающего, какой тип авторизации им предоставлен. Код переднего плана может проверить выданный им токен аутентификации для пользовательского утверждения, чтобы определить предоставленную им авторизацию. Серверный код и правила безопасности также могут проверять наличие требуемых пользовательских утверждений в отправленных запросах.

Реально, любое приложение, которое вы создаете, где разные пользователи могут иметь разные уровни доступа, потребует от вас авторизации. Я считаю, что назначение тщательно продуманных пользовательских требований - лучшее решение.

...