Как правильно реализовать аутентификацию и авторизацию пользователей (FirebaseAuth с бэкэндом NodeJS) - PullRequest
0 голосов
/ 24 апреля 2019

Я создаю приложение с использованием аутентификации на основе firebase, и я все еще новичок в аутентификации и авторизации То, что я уже сделал, это внедрил аутентификацию firebase во внешнем интерфейсе, когда пользователь успешно зарегистрируется, он запросит бэкенд и проверит его idToken firebase admin. После проверки данные пользователя будут сохранены в базе данных вместе с uid, возвращенным при проверке idToken.

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

Должен ли я вернуть uid клиенту и использовать его в заголовке? Если это так, должен ли сервер использовать его для проверки наличия токена в базе данных при каждом запросе клиента?

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

1 Ответ

0 голосов
/ 24 апреля 2019

Хорошо, поэтому первое, что нужно понять, это то, что Firebase работает на клиентской парадигме, что означает, что вам на самом деле не нужно и нужно тщательно продумывать, нужно ли вам проводить операции Firebase на стороне сервера. В принципе, вы можете делать все что угодно на JavaScript в веб-браузере. или приложение для Android. или приложение для iOS.

Если вы решите переместить некоторые функции на серверную сторону, следующим лучшим решением будет сделать их как размещенные облачные функции в firebase. См:

Функции вызываемого облака

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

...