Tôi có ứng dụng Spring + CXF tiêu thụ API truyền: Transmission RPC chạy trong một máy chủ khác.Spring - Thử lại yêu cầu nếu dịch vụ trả về 409 Mã HTTP
Theo tài liệu truyền, bạn cần gửi mã thông báo được tạo theo yêu cầu đầu tiên. Sau đó, máy chủ phản hồi với mã http 409 cùng với tiêu đề chứa mã thông báo. Mã thông báo này phải được gửi trên tất cả các cuộc gọi tiếp theo:
2.3.1. Bảo vệ CSRF Hầu hết các máy chủ RPC truyền yêu cầu tiêu đề X-Transmission-Session-Id để gửi đi với các yêu cầu, để ngăn chặn các cuộc tấn công CSRF . Khi yêu cầu của bạn có id sai - chẳng hạn như khi bạn gửi yêu cầu đầu tiên của bạn hoặc khi máy chủ hết hạn mã thông báo CSRF - máy chủ RPC truyền sẽ trả lại lỗi HTTP 409 với đúng X-Transmission-Session- Id trong các tiêu đề của chính nó. Vì vậy, cách chính xác để xử lý phản hồi 409 là cập nhật X-phiên truyền-phiên-Id của bạn và gửi lại yêu cầu trước đó.
Tôi đang tìm giải pháp hoặc sử dụng bộ lọc CXF hoặc bộ chặn, về cơ bản sẽ xử lý phản hồi 409 và thử lại yêu cầu ban đầu thêm tiêu đề mã thông báo. Tôi nghĩ rằng khách hàng có thể duy trì mã thông báo này và gửi mã đó trong các cuộc gọi trong tương lai.
Tôi không quen thuộc với cxf vì vậy tôi đã tự hỏi nếu điều này có thể được thực hiện và làm thế nào. Bất kỳ gợi ý nào đều hữu ích.
Cảm ơn!