2013-10-10 15 views
6

Tôi có một số JavaScript được lưu trữ trên miền A làm cho các yêu cầu JSONP đối với dịch vụ trên miền B. Yêu cầu B/Auth đặt cookie chứa mã thông báo xác thực. Các yêu cầu tiếp theo đối với các dịch vụ khác trên miền B cũng phải chứa cookie này.Cookie không được gửi cùng với yêu cầu JSONP trong IE

Trong Chrome, cơ chế này hoạt động hoàn hảo; cookie được đặt, gửi và dữ liệu được trả lại. Trong IE10, tiêu đề Set-Cookie quay trở lại với phản hồi từ B/Auth nhưng không được bao gồm trong các yêu cầu tiếp theo.

Set-Cookie MINT_SESSIONTOKEN=MyDST={TOKEN}; expires=Thu, 10-Oct-2013 11:57:45 GMT; path=/; HttpOnly 

Sau khi một số Googling và thử nghiệm tôi phát hiện ra rằng nếu tôi đặt cài đặt bảo mật của IE (Internet Options> Privacy) để Low hoặc Accept All Cookies thì cookie được gửi cùng với yêu cầu tiếp theo vào miền B. Bất kỳ cài đặt cao hơn so với Low ngăn không cho gửi cookie.

Trong khi điều này giải quyết được vấn đề cho tôi, nó không giải quyết được vấn đề cho người dùng sẽ phải định cấu hình lại cài đặt bảo mật của họ để nhận dữ liệu.

Tôi hơi bối rối về những gì chính xác đang xảy ra dưới mui xe. Tôi nghĩ IE thấy cookie là bên thứ ba và ngăn không cho cookie được đặt (mặc dù cookie được đặt cho và được gửi tới, tên miền B), đó là lý do tại sao nó bị bỏ qua trong các yêu cầu tiếp theo.

Có điều gì tôi có thể làm để ngăn chặn IE chặn cookie mà người dùng không phải sửa đổi cài đặt bảo mật của trình duyệt không?

Trả lời

Các vấn đề liên quan