Я пытаюсь реализовать функции регистрации и входа в систему, и я использую Spring Boot и java stack.Я следую этому уроку (вам не нужно нажимать на него, просто выложить сюда для справки и полноты этого вопроса).
Учебное пособие по Spring Security MySQL JWT - Grokonez
Теперь у меня есть конечная точка для регистрации и входа в систему.После регистрации и добавления пользователя в базу данных я вхожу в систему. Для входа в конечную точку я получаю токен jwt.Используя этот токен, я могу получить доступ к ограниченным ресурсам.Все отлично до сих пор.Теперь, когда я снова достигаю конечной точки входа, я получаю еще один токен.
Здесь моя дилемма.Поскольку у меня есть два токена, я могу войти в систему, используя два токена.Теперь, конечно, оба этих токена имеют срок действия (например, как день).Но с точки зрения хорошей практики, должны ли мы аннулировать старый токен, означающий, что в любой данный момент времени будет только ОДИН токен, который любой пользователь может использовать для входа в нашу систему?
Если это так,будет ли это означать, что пользователь не может использовать наше приложение одновременно на обоих устройствах, таких как ноутбук и мобильный телефон?В таком случае, каков верхний предел для active
токенов?
Я слышал кое-что о токене обновления и т. Д., Но я просто хочу сохранить это простым, и я согласен с тем, что у меня есть только один токен с именем accessмаркер.
Итак, если вы думаете, что я должен сделать недействительным jwt и сохранить только один активный jwt на пользователя в любой момент времени, как бы я это сделал?Сохранить JWTS в БД и сделать что-нибудь?