Мы пытаемся запустить приложение только для сервера (сервера), созданное с использованием jhipster (опция аутентификации на основе spring oauth2) в облаке AWS с несколькими экземплярами контейнера (если быть точным, 3 контейнера).
Нет привязки сеанса, и балансировщик нагрузки балансирует нагрузку в циклическом порядке, и из-за отсутствия привязки сеанса мы видим, что случайным образом происходит сбой аутентификации с authorization_request_not_found кодом ошибки.
После отладки и поиска в Google я обнаружил, что по умолчанию OAuth2LoginAuthenticationFilter. java использует HttpSessionSecurityContextRepository для хранения OAuth2AuthorizationRequest во время процесса аутентификации (до перенаправления на страницу входа IDP) и один раз пытается получить код при обработке автором (однажды обработав код во время обработки автору (однажды обработав код при обработке автором (однажды обработав код при обработке автором (однажды обработав код при обработке автором) (один раз получая код при обработке автором (однажды обработав код во время обработки автору (однажды обработав код при обработке автором) (один раз получая код во время обработки автором (однажды обработав код при обработке автором) (один раз, получая код во время обработки автору (однажды обработав код при обработке автора) IDP перенаправляет обратно к приложению с кодом авторизации и параметрами состояния), и, поскольку липкость сеанса отсутствует, когда запрос перенаправляется в экземпляр контейнера, отличный от исходного, он не находит первоначально сохраненный OAuth2AuthorizationRequest и приводит к authorization_request_not_found ошибка.
Я попытался настроить HttpSecurity для использования SessionCreationPolicy.STATELESS и установить securityContext.securityContextrepository для использования NullSecurityContextRepository (), но он по-прежнему использует HttpSessionSecurityContextRepository.
Кто-нибудь сталкивался с этой проблемой и сможет поделиться стандартным способом решения этой проблемы? Любая помощь очень ценится.