Лучший вариант реализовать процесс авторизации при первом входе с установкой постоянного пароля, кода из смс и почты?
Дано приложение использующее Spring Boot 3 и Spring Security oauth2 resource server для защиты точек. И есть бизнес-логика
- Пользователь в БД который по умолчанию создается с временным паролем и без email. Логином служит номер телефона.
- При первом входе он вводит логин и пароль, если данные верны и пароль временный то ему показывается новое окно и должен ввести код из смс, далее если код правильный показываем экран установки постоянного пароля. Когда мы получили новый пароль, сохранили его в БД то показываем экран ввод email. Так как это единый бизнес-процесс, а JWT токен мы выдаем только успешной авторизации с постоянным паролем то возник вопрос как лучше отслеживать состояния бизнес-процесса. И тут пока у меня 2 варианта, либо сразу выдавать JWT токен но без ролей и в нем хранить состояние или использовать для этого HttpSession. Пока склоняюсь к сессиям но решил узнать мнения у более опытных.
Посоветуйте пожалуйста.