Spring Security OAuth2 Client использует HttpSession для хранения токена доступа, если мы используем oauth2Login () для получения токена доступа от Okta (Сервер авторизации). Это заставит нас иметь только один экземпляр клиента OAuth2 и не сможет горизонтально масштабироваться в такой среде, как Kubernetes.
Чтобы решить эту проблему, я смог найти разные подходы в Интернете.
Использовать неявный поток, когда токен доступа получен и поддерживается в клиенте браузера, который менее безопасен для вышеуказанного подхода.
Как только выПолучите токен доступа в бэкэнде, создайте новый пользовательский токен JWT со всеми скопированными утверждениями и сохраните его в браузере пользователя. Таким образом, каждый последующий запрос может быть аутентифицирован с использованием этого токена JWT после этого.
Используйте библиотеку Spring-Session для разделения HttpSession между несколькими экземплярами клиента OAuth2 и придерживайтесь простых старых сеансов HTTP для хранения доступатокен.
Какой подход лучше?