Как сделать недействительным или отозвать токен доступа jwt, используя Identity Server 4 Проверка подлинности JWT и предоставление пароля владельца ресурса? - PullRequest
0 голосов
/ 11 января 2020

Мы использовали схему аутентификации JWT и тип предоставления пароля владельца ресурса с сервером идентификации. Backend - это. Net базовые микросервисы, которые предоставляют токен доступа к angular интерфейсному веб-сайту.

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

Есть ли способ изменить токен доступа на бэкенде и сделать так, чтобы срок его действия истек немедленно, когда пользователь запускает выход из внешнего интерфейса?

Ответы [ 2 ]

1 голос
/ 11 января 2020

JWT не может быть отозвано, оно разработано, поскольку оно является автономным. Отзывной альтернативой является опорный токен , который не является автономным и, следовательно, серверу необходимо активно взаимодействовать с сервером идентификации.

Компромиссный и общий подход состоит в том, чтобы установить время жизни токена доступа на более низкое значение и увеличить время восстановления токена sh. Токены Refre sh могут быть отозваны - он также поддерживается сервером идентификации 4. Таким образом, речь идет о компромиссе между частотой обмена данными с вашим сервером идентификации и длительным временем жизни токена доступа.

0 голосов
/ 11 января 2020

Токены JWT хранятся в браузере, поэтому вы можете удалить их ie. Но эта опция не обеспечивает безопасности на стороне сервера.

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

Другой вариант - уменьшить время истечения и повернуть их. здесь есть сообщение с более подробной информацией Invalidating JSON Web Tokens

...