Gần đây chúng tôi đã di chuyển ứng dụng API từ Azure Cloud Services sang Azure Websites và một số khách hàng vẫn đang sử dụng giao thức xác thực cũ của chúng tôi, sử dụng cookie (thay vì tiêu đề HTTP thông thường Authorization: Bearer
). Chúng tôi cần hỗ trợ giao thức xác thực này lâu hơn một chút vì khách hàng sẽ không thể di chuyển ngay lập tức.Bật tiêu đề Access-Control-Allow-Credentials trong trang web Azure (Azure App Services)
Để hỗ trợ các tập tin cookie trong một yêu cầu ajax chéo nguồn gốc trực tiếp tới API, khách hàng cần phải thiết lập các thiết lập withCredentials
để true
trong XMLHttpRequest, và máy chủ cần phải repond với tiêu đề Access-Control-Allow-Credentials
cũng như để bất kỳ yêu cầu CORS.
Vấn đề mà chúng tôi phải đối mặt là Trang web Azure quản lý CORS một mình và sử dụng cấu hình riêng của nó (được giới hạn trong danh sách nguồn gốc được phép) cho phản hồi, không cho phép đặt tiêu đề này .. do đó phá vỡ ứng dụng cho tất cả các máy khách Ajax của chúng tôi!
Có cách nào (tạm thời) thêm tiêu đề này vào câu trả lời không?
Cảm ơn bạn! Tôi đã gặp rất nhiều rắc rối khi sử dụng CORS trong một ứng dụng servicestack được lưu trữ trên Azure. Nó chỉ ra loại bỏ cấu hình CORS từ cổng thông tin Azure cố định tất cả mọi thứ. –
Lạ, nó cần phải có một chuyển đổi để vô hiệu hóa Azure cors, chỉ cần loại bỏ tất cả các trang web vô hiệu hóa nó và đi qua để ứng dụng của bạn. Nếu bất kỳ nguồn gốc nào được liệt kê, có vẻ như bạn sẽ xóa bất kỳ tiêu đề CORS nào khác mà bạn có (withcredenetials, methods, etc.).Tôi nghĩ rằng một số loại giải thích rằng việc nhập một trang web sẽ cho phép nó và những giá trị nó sẽ sử dụng cho những tiêu đề khác cần được cung cấp. Tôi nghĩ rằng nó sẽ cung cấp cho một số loại lỗi hoặc cảnh báo để tự động loại bỏ các tiêu đề của bạn quá ... –