Я создаю сервер nodejs с аутентификацией jwt.
В настоящее время срок действия моих jwts составляет 1 месяц.Если пользователь заходит на страницу входа в систему, я проверяю, содержит ли его запрос действительный jwt, если да, ему не нужно вводить свое имя пользователя и пароль.Если он выходит из системы, jwt удаляется на клиентской стороне, поэтому пользователь должен в следующий раз войти в систему со своими учетными данными.
Что делать, если злоумышленник прослушивает соединение (я уже использую ssl) и получаетзнакДаже если пользователь выйдет из системы и получит новый токен в следующем сеансе, злоумышленник может выдать себя за пользователя старым токеном, если он действителен, верно?
ЭтоХорошая идея сохранить IAT «текущего» токена пользователя в БД и сравнить его с IAT токена в запросе, чтобы избежать доступа атакующего?
Я знаю, 1 месяц - это довольно много для JWT.У меня также была идея сгенерировать новый токен, каждый раз, когда клиент входит в систему (со сроком действия 2 дня).Но если злоумышленник получает только 1 действующий токен, он также получает новые токены, не так ли?
У вас есть какие-либо предложения?
Спасибо, ура!