JwtAuthenticationToken не сохраняется в HttpSessionSecurityContextRepository: сервер авторизации spring 0.4.0, spring 5.7

Я использую сервер авторизации spring для аутентификации oauth2 с конфигурацией сервера ресурсов для обработки аутентификации вне сервера. Мой вариант использования выглядит следующим образом:

  1. пользователь делает запрос на авторизацию конечной точки
  2. поскольку сеанс не аутентифицирован, система кэширует запрос и перенаправляет пользователя на внешнюю конечную точку для аутентификации.
  3. После успешной аутентификации внешняя система создает недолговечный токен jwt.
  4. Токен Jwt отправляется на сервер авторизации, который проверяет и перенаправляет запрос на сохраненный предыдущий запрос (который является вызовом конечной точки авторизации на шаге 1).
  5. Поскольку токен jwt был аутентифицирован, я хочу, чтобы на этот раз вызов авторизации прошел успешно.

В весенней версии 5.6 владелец securitycontext смог сохранить аутентификацию, и любые последующие запросы в том же сеансе могли использовать jwtauthentication. Теперь, поскольку временная проверка добавлена ​​в HttpSessionSecurityContextRepository.java, jwtauthentication не сохраняется между запросами, и моя функциональность не работает.

Как я могу справиться с этим сценарием? Я хотел бы использовать аутентификацию jwt из внешнего источника в сочетании с сервером авторизации spring. Любые предложения приветствуются.

Я уже проверил аналогичный вопрос: JwtAuthenticationToken не сохраняется в HttpSessionSecurityContextRepository после обновления до версии 5.7, в которой не было никаких входных данных. Я также проверил обсуждения на github как для версии spring 5.7, так и для версии сервера авторизации 0.4.0 и не смог найти никаких руководств.

0 ответов

Другие вопросы по тегам