Аутентификация Firebase - запретить доступ неизвестным пользователям - PullRequest
0 голосов
/ 12 марта 2019

Я использую Firebase в своем угловом приложении.Сейчас я хочу сделать очень просто.

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

Эта ссылка для регистрации отправляет пользователя на страницу, где он может заполнить свою личную информацию (имя, номер телефона, дату рождения) и выбрать способ аутентификации: электронная почта / пароль или вход в Google.

На другой страницедавайте назовем это «страницей входа», они регистрируются так же, как и при регистрации.

Если они выбрали адрес электронной почты / пароль, все работает нормально, я могу ограничить доступ только пользователям, которые ранее зарегистрировались иподтвердил свой адрес электронной почты.

Но при использовании входа в Google любой пользователь с учетной записью Google может получить доступ ко всем данным в приложении, даже если он не регистрировался ранее.

Наскольконасколько я знаю, это потому, что аутентификация по электронной почте / паролю использует два шага:

createUserWithemailAndPassword(email, password)

, который создает нового пользователя

signInWithEmailAndPassword(email, password)

, который аутентифицирует пользователя, только если ониВы прошли первый шаг.

Но для аутентификации Google (и Twitter, и Facebook) у вас есть только метод входа в систему, и никаких признаков шага регистрации, где вы можете отфильтровать, какой человек может получить доступ к вашему приложению.

Итак, я что-то упустил или это единственный способ, с помощью которого работает аутентификация с помощью firebase?

Большое спасибо

Matthieu

1 Ответ

0 голосов
/ 12 марта 2019

Единственный способ добавить разрешенных пользователей для входа в ваше приложение - это бэкэнд Firebase (см. Скриншот ниже):

enter image description here

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

Да, это немного утомительно, но, насколько я знаю, другого безопасного способа сделать это (или я этого не сделал)не найти его).Вы даже можете попробовать отфильтровать по электронной почте или что-то еще, но это JS, поэтому его можно изменить на стороне клиента.

В противном случае любой человек сможет войти в ваше приложение.

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