REST API аутентификация с использованием Firebase Admin SDK - PullRequest
0 голосов
/ 29 мая 2018

У меня есть REST API, и аутентификация выполняется с помощью токенов jwt.Чтобы сделать API-интерфейс более безопасным (пользователи и механизм аутентификации), я бы хотел использовать аутентификацию Firebase.Я хотел бы знать, можем ли мы использовать firebase в качестве сервера аутентификации для моих REST API.

Насколько я понимаю, клиентское приложение отправит имя пользователя и пароль на сервер firebase, и они предоставят токен.С помощью этого токена клиентское приложение отправит вызов API на наш сервер.Мне нужно интегрировать админ SDK Firebase на моем сервере и проверить токен с помощью админ SDK для получения данных из моей базы данных.

Пожалуйста, исправьте меня, если я ошибаюсь.

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

Пожалуйста, помогите мне интегрироватьэто правильно, и я использую nodejs / expressjs для создания API.

1 Ответ

0 голосов
/ 29 мая 2018

можем ли мы использовать firebase в качестве сервера аутентификации для моих REST API.

Да, это одна из предоставляемых ими услуг: https://firebase.google.com/products/auth/

Насколько я понимаю, клиентское приложение отправит имя пользователя и пароль на сервер Firebase, и они предоставят токен.

Правильно.Обычная аутентификация Firebase выполняется исключительно на стороне клиента.

Но если вам нужен конкретный механизм аутентификации, такой как LDAP / AD или какая-либо другая форма корпоративных махинаций, вам нужно будет создать свои собственные токены, которыеклиент будет использовать для аутентификации: https://firebase.google.com/docs/auth/admin/create-custom-tokens

При использовании этого токена клиентское приложение отправит вызов API на наш сервер.

Исправить.После того, как клиент успешно вошел в систему и получил свои токены ID, вам на стороне сервера необходимо проверить токен ID: https://firebase.google.com/docs/auth/admin/verify-id-tokens через промежуточное программное обеспечение.

Кроме того, у меня есть опасение, чтоКак управлять токенами обновления, чтобы мое приложение оставалось в системе.

Вам не нужно беспокоиться об этом, пока клиент использует соответствующий метод для получения токена идентификатора.Например, на веб-стороне клиент будет вызывать: https://firebase.google.com/docs/reference/js/firebase.User#getIdToken, в котором говорится (выделено мое):

Возвращает текущий токен, если он не истек, в противном случае это будетобновите токен и верните новый .

Как видите, клиентская часть Firebase SDK обрабатывает все за вас.Вам не нужно на стороне сервера отслеживать идентификационные токены, обновлять токены или что-либо еще.Все, что вам нужно сделать, это проверить токен, вот и все.

Пожалуйста, смотрите мой предыдущий ответ для более подробной информации о проверке на стороне сервера: Аутентификация Firebase с использованием NodeJS

...