У меня есть приложение Spring + CXF, которое использует API передачи: Передача RPC работает на другом сервере.
В соответствии с документами передачи вам необходимо отправить токен, который генерируется по первому запросу. Затем сервер отвечает 409 http-кодом вместе с заголовком, содержащим токен. Этот токен должен быть отправлен на все последующие вызовы:
2.3.1. Защита CSRF. Большинство серверов RPC с передачей требуют, чтобы заголовок X-Transmission-Session-Id отправлялся с запросами, чтобы предотвратить Атаки CSRF. Когда ваш запрос имеет неправильный идентификатор - например, когда вы отправьте свой первый запрос или когда на сервере истекает токен CSRF - сервер RPC передачи вернет ошибку HTTP 409 с правой X-Transmission-Session-Id в своих собственных заголовках. Итак, правильный способ обработки ответа 409 - это обновить X-Transmission-Session-Id и повторно отправить предыдущий запрос.
Я искал решение, используя фильтр CXF или перехватчик, который в основном будет обрабатывать ответ 409 и повторить первоначальный запрос, добавляя заголовок маркера. Я думаю, что клиенты могут сохранить этот токен и отправить его в будущих вызовах.
Я не очень хорошо знаком с cxf, поэтому мне было интересно, можно ли это сделать и как. Любые подсказки были бы полезны.
Спасибо!