profcomff / profcomff/webapp-ui
Поддержать обновление токена с включенным OIDC
Nobody has claimed this yet.
- Dominant language
- Vue
- Stars
- 15
- Forks
- 2
- Avg merge
- 3m
- Merged PRs (30d)
- 8
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
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.