Я создаю веб-приложение Spring Boot, которое будет действовать как сайт входа для моих пользователей. За кулисами через REST API он использует OpenAM для проверки учетных данных и создания токена сеанса. Я ожидаю, что токен будет использоваться для управления сеансом для этого сайта входа и всех других сайтов, которые мы предлагаем нашим пользователям (единый вход).
Я бы хотел, чтобы приложение SpringBoot не имело гражданства. Это значительно упрощает развертывание. Хотя сайт должен быть без состояния, очевидно, что мы по-прежнему сохраняем состояние сеанса в OpenAM.
Я изо всех сил пытаюсь настроить Spring Security, чтобы файл cookie представлял действительный сеанс, который Spring Security распознает. Когда я делаю приложение без состояния, оно вызывает всевозможные проблемы с защитой CSRF, потому что оно думает, что мы повторно аутентифицируемся с каждым запросом, который имеет токен сеанса OpenAM в файле cookie, и создает новые заголовки CSRF (для защиты от сеанса фиксация).
Я использую PreAuthenticationToken для своего типа аутентификации. Должен ли я использовать RembemberMeAuthenticationToken? Нужно ли мне вводить новую SessionAuthenticationStrategy? В идеале, только фактический POST входа в систему заставляет Spring Security думать, что новый сеанс был создан. Для всех последующих запросов с файлом cookie сеанса он должен просто пропускать его, как если бы он был аутентифицирован. (Я буду проверять токен с помощью OpenAM при каждом запросе)
Мысли? Андрей