Как сделать недействительным токен JWT после того, как пользователь не будет активным в течение определенного времени - PullRequest
1 голос
/ 28 апреля 2020

Я хочу аннулировать JWT на стороне сервера автоматически после того, как пользователь неактивен в течение 30 минут.

Я знаю, как установить период действия для JWT, но это сделает недействительным токен, если пользователь активен или нет.

Итак, я ONLY хочу аннулировать токен, если пользователь не активен в течение 30 минут.

Framework: Spring

1 Ответ

1 голос
/ 28 апреля 2020

Токен JWT действует с момента его выдачи эмитентом токена (претензия iat ) до истечения срока его действия (претензия exp ).

В распределенной системе, где есть эмитент токена (сервер авторизации) и приложение, которое принимает токены (сервер ресурсов), сервер ресурсов определяет, истек ли токен обеспечение того, чтобы токен находился в допустимом периоде - диапазон между утверждениями iat и exp.

Если вы хотели, чтобы способ отозвать токен и больше не должен приниматься, даже в пределах допустимого диапазона дат вы устанавливаете зависимость от серверов ресурсов для проверки списка отзыва токенов, чтобы получить статус токена. Хотя есть способы, которыми это может быть достигнуто, и этот поток углубляется в детали - Как я могу отозвать токен JWT? , обычно считается, что затраты на управление надежно больше проблем тогда стоит и лучшее решение - использовать краткосрочные токены, например, 10 минут (или все, что вам подходит), и заставить ваше приложение, которому требуется токен для доступа к серверу ресурсов, сгенерировать новый токен незадолго до истечения срока действия.

...