Срок действия аутентификации Firebase истекает через 1 час - PullRequest
2 голосов
/ 30 сентября 2019

Я могу разрешить пользователям входить в Firebase, используя электронную почту и пароль. Я следовал этим инструкциям: https://firebase.google.com/docs/reference/rest/auth/#section-sign-in-email-password

Однако через 1 час кажется, что срок действия аутентификации истек, и я больше не могу использовать свое приложение. Кто-нибудь знает, как я могу продлить этот час? Я прочитал НЕСКОЛЬКО постов с очень похожими вопросами, но не могу найти четкого ответа. Похоже, некоторые люди думают, что есть способ получить маркер Reauth или что-то в этом роде, но однозначного ответа пока нет.

1 Ответ

1 голос
/ 30 сентября 2019

Управление сеансами пользователя

Сеансы аутентификации Firebase являются долгоживущими. Каждый раз, когда пользователь входит в систему, учетные данные отправляются в серверную часть аутентификации Firebase и обмениваются на токен Firebase ID (JWT) и токен обновления. Жетоны Firebase ID недолговечны и длятся час;токен обновления можно использовать для получения новых токенов ID. Срок действия маркеров обновления истекает только в том случае, если происходит одно из следующих действий:

  • Пользователь удален
  • Пользователь отключен
  • Для пользователя обнаружено значительное изменение учетной записи. Это включает события, такие как обновление пароля или адреса электронной почты.

Управление токенами в веб-клиенте

Код клиента веб-сайта может вызывать User.getIdToken (forceRefresh ?: *)1020 * логическое ) :

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

Это необходимо вызывать при каждой отправке токена на сервер.


В качестве альтернативы, пользовательсеансы могут управляться с помощью файлов cookie сеанса.

Управление сессионными cookie-файлами

Firebase Auth обеспечивает управление cookie-файлами сеансов на стороне сервера для традиционных веб-сайтов, использующих cookie-файлы сеансов. Это решение имеет несколько преимуществ по сравнению с короткоживущими идентификаторами ID на стороне клиента, для которых может каждый раз потребоваться механизм перенаправления для обновления cookie сеанса по истечении срока действия:

  • Повышенная безопасность с помощью маркеров сеанса на основе JWT, которые могутгенерироваться только с использованием авторизованных учетных записей служб.
  • Сеансовые cookie-файлы без сохранения состояния, которые обеспечивают все преимущества использования JWT для аутентификации. Cookie-файл сеанса имеет те же утверждения (включая настраиваемые утверждения), что и токен ID, что позволяет применять те же проверки разрешений к cookie-файлам сеанса.
  • Возможность создавать cookie-файлы сеанса с настраиваемым временем истечения от 5 минут до 2 недель. .
  • Гибкость в применении политик использования файлов cookie в зависимости от требований приложения: домен, путь, защита, httpOnly и т. Д.
  • Возможность отзыва файлов cookie сеанса при подозрении на кражу токена с использованием существующего токена обновления. API отзыва.
    • Возможность обнаруживать отмену сеанса при значительных изменениях учетной записи.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...