можем ли мы использовать 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