Система учетных данных для Firebase Custom Auth System с использованием облачных функций - PullRequest
0 голосов
/ 25 мая 2019

Сценарий:

Я хочу создать приложение для Android, которое использует имя пользователя и пароль для аутентификации. Для этого я решил использовать кастомную аутентификацию firebase.

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

Firebase дает вам полный контроль над аутентификацией, позволяя аутентифицировать пользователей или устройства с использованием безопасных веб-токенов JSON (JWT). Вы генерируете эти токены на своем сервере, передаете их обратно на клиентское устройство, а затем используете их для аутентификации с помощью метода signInWithCustomToken ().

Источник: https://firebase.google.com/docs/auth/admin/create-custom-tokens

Я бы хотел использовать Firebase Firestore для хранения имени пользователя и пароля и использовать его для создания пользовательской аутентификации JWT для Firebase в облачных функциях Firebase.

Вопрос:

  1. Должен ли я хранить учетные данные пользователя в firebase firestore и, если да, то каков безопасный способ сделать это? Если нет, как мне действовать дальше?

  2. Как создать JWT в облачных функциях firebase, если учетные данные, переданные функции, совпадают с учетными данными в firestore.

Примечание:

У меня нет системы учетных данных или сервера.

1 Ответ

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

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

При этом сказано: если выСобираясь создать свою собственную систему, вы захотите взглянуть на этот пример usename / auth провайдера в functions-samples repo .В нем показано, как получать данные, как вызывать бэкэнд-систему и как копировать пользовательский токен.

Для получения дополнительной информации о том, как сохранить имя пользователя / пароль, см. Лучший способ сохранить пароль вбазы данных .Хранение этой информации в Firestore является обычным подходом, и не лучше и не хуже, чем хранение ее в любой другой правильно защищенной облачной базе данных.

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