каков поток аутентификации для архитектуры Firebase и среднего стека? - PullRequest
0 голосов
/ 27 июня 2019

Я делаю проект с угловым в качестве внешнего интерфейса и nodejs в качестве внутреннего.

База данных и механизмы аутентификации управляются облаком Firebase.

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

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

Но, похоже, есть 2 пакета npm, один для углового firebase , а другой для nodejs firebase-admin .

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

Кажется, в firebase signInWithUserNameAndPassword и в firebase-admin signInWithCustomToken.

Может кто-нибудь показать мне правильный путь, чтобы пройти?

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

Клиентская часть моего приложения - это веб-проект. Есть ли какая-то ошибка в моем понимании?

Заранее спасибо

Ответы [ 2 ]

1 голос
/ 27 июня 2019

firebase-admin не поддерживает API аутентификации пользователей.Таким образом, вы должны выполнить аутентификацию на стороне клиента с помощью пакета firebase и API signInWithEmailAndPassword(), который он предоставляет: https://firebase.google.com/docs/auth/web/password-auth

1 голос
/ 27 июня 2019

Вы будете использовать signInWithUserNameAndPassword метод. Вам будет возвращен токен, который вы можете сохранить в localStorage, что с точки зрения безопасности является плохой идеей, но подходит для простых проектов на практике. Кроме того, вы можете использовать angular-persistence или аналогичные библиотеки для сохранения вашего состояния. Затем вы можете аутентифицировать пользователя по тому, присутствует ли его / ее токен в состоянии или нет.

...