Как отозвать токен доступа с одностраничным приложением и неявным потоком openid connect? - PullRequest
0 голосов
/ 07 июня 2019

Недавно я написал провайдера идентификации с openid connect. Я выставил конечную точку и токен, и поток oauth.

Я знаю, что мы не можем предоставить токен обновления для отзыва любого из токенов в случае SPA. Итак, что я сделал, когда мой токен истек, я всегда вызывал сервер IDP, и он обновлял мой токен, но проблема, с которой я сталкиваюсь, заключается в том, что аутентификация не помещается в фоновом режиме, иногда появляется флэш-экран и вызывается мой URL обратного вызова. где я снова сохраняю токен.

Так есть ли способ отозвать токен доступа без ведома пользователя.

Один из способов - вызвать провайдера идентификации после истечения срока действия моего токена и обновить мой токен в фоновом режиме, но все же, если в то же время, если пользователь пытается вызвать API со старым, он получает 401.

1 Ответ

0 голосов
/ 02 июля 2019

Для SPA наиболее распространенным решением является использование библиотеки oidc-client для обновления токенов. Я думаю, это то, что вы спрашиваете?

Самое простое решение для аннулирования состоит в использовании короткоживущих токенов - обычно 60 минут

Это зависит от вашего сервера авторизации, но хорошей отправной точкой является понимание параметра prompt = none - моя процедура SPA может помочь: https://authguidance.com/2017/10/24/user-sessions-and-token-renewal/

Некоторые

...