-
Notifications
You must be signed in to change notification settings - Fork 1
Description
Когда включен OIDC в Auth API (сейчас включен на тесте) – токен не продлевается автоматически. Его надо продлевать вручную с помощью ручки /openid/token.
По идее токена должно выписываться два:
- access_token с временем жизни минут 15
- refresh_token с временем жизни в недели и месяцы
С access_token так же приходит expires_in (в секундах, а в старых ручках expires в виде даты). Токен надо обновлять не реже, чем пройдет это время.
Вариант решения:
-
При открытии вкладки с приложением всегда делаем запрос на
/openid/token(если пользователь уже логинился, у него должны быть сохраненыrefresh_tokenилиtoken) для замены токена с параметрами?grant_type=refresh_token& client_id=app&refresh_token={{token}}. {{token}} заменять наrefresh_token, а если его нет, то наtoken -
Из полученного JSON запоминать параметры token=access_token, refresh_token=refresh_token
Из старых ручек запоминать token=access_token or token, refresh_token=refresh_token or token. Но вообще потом там тоже будут оба токена приходить
expires/expires_in тоже запоминать в формате даты/юникс таймстемпа
-
Если делаешь API запрос, предварительно проверить, что expires < сейчас. Если такое произошло, сначала делаем шаг 1
Я бы это делал на уровне auth-lib
Metadata
Metadata
Labels
Type
Projects
Status