मुझे लगता है कि मैंने xmlhttprequest के साथ कुकीज़ के प्रबंधन को गलत समझा। मेरे पास एक सर्वर है जो जावास्क्रिप्ट में बनाए गए XMLHttpRequest
पर प्रतिक्रिया करता है, मेरा सर्वर Allow-Control-Access-Origin
, Access-Control-Allow-Headers
, Access-Control-Expose-Headers
और Access-Control-Allow-Credentials
सही मान वाले शीर्षलेख देता है।xmlhttprequest और set-cookie और कुकी
मैं जावास्क्रिप्ट के साथ एक सर्वर में एक डाइजेस्ट प्रमाणीकरण कर रहा हूं, इसमें कोई समस्या नहीं है, मुझे सर्वर से WWW-Authenticate
हेडर ठीक है, मैं प्रक्रिया करता हूं और सर्वर को सभी पाचन प्रतिक्रिया के साथ प्राधिकरण शीर्षलेख भेजता हूं और सब कुछ ठीक करता है । समस्या यह है कि, जब पाचन-चुनौती सफल होती है, तो मेरा सर्वर सेट-कुकी हेडर देता है, मुझे इसे प्राप्त करना होगा और मेरे सभी एक्सएच अनुरोध में जोड़ना होगा। ब्राउज़र (क्रोमियम और क्रोम का उपयोग) मेरे कर हैडर के लिए उपयोग नहीं:
xhr.getResponseHeader("Set-Cookie");
ठीक है, XMLHTTPREQUEST Level 2 में यह कहते हैं: "प्रतिक्रिया से रिटर्न सभी हेडर, उन के अपवाद जिसका क्षेत्र का नाम है के साथ सेट-कुकी या सेट-कुकी 2 " ठीक है, इसलिए मैं इसे नहीं ले सकता, लेकिन क्या तरीके हैं? कुकीज के लिए क्रोम एपी का उपयोग करना (फिलहाल मैं इसके बारे में नोटिंग नहीं पढ़ता), लेकिन मैं मानक तरीके से मानक के रूप में करना चाहता हूं। के साथ:
xhr.withCredentials = true;
मतलब यह है कि ब्राउज़र अपने आप सेट कुकी हो और कुकी हेडर में भेज ??
क्या आप इस बात की पुष्टि कर सकते हैं कि इस मामले में वे कुकीज़ बी भेज रहे हैं और साइट ए (मुख्य पृष्ठ) साइट बी (अजाक्स गंतव्य) पर सेट कर रहे हैं? –
नहीं। केवल उन कुकीज़ जो डोमेन बी से उत्पन्न हुई थीं वहां भेजी जाएंगी। दूसरी तरफ, 'रेफरर' को साइट ए के मूल यूआरआई युक्त भेजा जाएगा - और यदि आपके पास कुछ HTTP पैरामीटर थे - वे बी साइट पर दिखाई देंगे। –