Как отозвать все токены jwt для конкретного пользователя? - PullRequest
0 голосов
/ 18 февраля 2020

Я знаю, что токен доступа самодостаточен и поэтому не может быть отозван. Насколько я понимаю, именно поэтому срок действия токена доступа часто бывает низким. Это позволяет отозвать токен refre sh и, тем самым, разрешить вход в систему только пользователям в течение срока действия токена доступа.

Однако, если я правильно его понимаю, пользователь сможет обновить его токен бесконечно без использования refre sh токена.

Можно инициировать тихий запрос аутентификации, добавив prompt = none. Это возможно до тех пор, пока ваш токен доступа остается в силе. В результате будет получен новый токен доступа, который неотличим от имени входа, выполненного напрямую без параметра prompt = none.

Если я правильно понимаю, пользователь, который однажды получил действительный токен, сможет его постоянно обновлять. без того, чтобы я был в состоянии "отозвать" его доступ каким-либо образом?

Правильно ли я понимаю, и если да, то как мне go отозвать доступ пользователя, пока он снова не войдет в систему?

1 Ответ

0 голосов
/ 18 февраля 2020

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *.. удерживается в указанном cook ie на стороне сервера (например, в базе данных или распределенном кэше), и, таким образом, вы можете отозвать указанный cook ie в любое время. Удаляя данные cook ie, относящиеся к этой учетной записи пользователя, вы фактически лишаете законной силы их текущий сеанс и, таким образом, можете предотвратить любые будущие автоматические обновления. Точно так же вы можете удалить все сохраненные гранты (ссылочные токены и refre sh токены).

Проверьте интерфейс Microsoft.AspNetCore.Authentication.Cookies.ITicketStore и свойство CookieAuthenticationOptions.SessionStore.

...