tôi nghĩ rằng tôi đã hiểu lầm việc quản lý cookie bằng xmlhttprequest. Tôi có một máy chủ đáp ứng với XMLHttpRequest
được thực hiện bằng javascript, máy chủ của tôi trả về các tiêu đề Allow-Control-Access-Origin
, Access-Control-Allow-Headers
, Access-Control-Expose-Headers
và Access-Control-Allow-Credentials
với giá trị chính xác.xmlhttprequest và set-cookie & cookie
Tôi đang thực hiện xác thực thông báo trong máy chủ có javascript, không có vấn đề gì, tôi nhận được tiêu đề WWW-Authenticate
từ máy chủ, tôi xử lý và gửi tới máy chủ tiêu đề Cấp phép với tất cả phản hồi và mọi thứ đều ổn . Vấn đề là, khi thử thách tiêu hóa thành công, máy chủ của tôi trả về Tiêu đề Set-Cookie, tôi phải lấy nó và thêm vào phần còn lại của tất cả yêu cầu xhr của tôi. Trình duyệt (sử dụng Chromium và Chrome) không cho phép tôi tiếp cận với tiêu đề làm:
xhr.getResponseHeader("Set-Cookie");
Ok, trong XMLHTTPREQUEST Level 2 nó nói: "Trả bài tiêu đề từ các phản ứng, ngoại trừ những người có trường tên là Set-Cookie hoặc Set-Cookie2 " Ok, vì vậy tôi không thể lấy nó, nhưng cách thức là gì? Sử dụng Chrome Api cho cookie (tại thời điểm này tôi không đọc lưu ý về nó), nhưng tôi muốn làm một cách tiêu chuẩn như posible. Với:
xhr.withCredentials = true;
có nghĩa là trình duyệt tự động nhận cookie đặt và gửi trong tiêu đề cookie ??
bạn có thể xác nhận rằng trong trường hợp này, họ đang gửi cookie, được tạo và đặt bởi trang A (trang chính) đến trang B (đích Ajax)? –
Không. Chỉ những cookie có nguồn gốc từ tên miền B mới được gửi đến đó. Mặt khác, 'Referer' sẽ được gửi chứa URI gốc của site A - và nếu bạn có một số tham số HTTP - chúng sẽ hiển thị trên trang B. –