5

में कॉर्डोवा InAppBrowser से कुकी वापस प्राप्त करें Ionic 2 के साथ एक वेब एप्लिकेशन का मोबाइल संस्करण बना रहा है जो एसएसओ के लिए SAML का उपयोग करता है जो मेरे क्लाइंट के सर्वर पर चलाया जाता है। अभी हमारे पास एक एपीआई है जिसे कॉल किया जाता है जब आप वेबसाइट पर लॉग इन नहीं होते हैं जो एसएसओ के लिए अपने सर्वर पर रीडायरेक्ट करता है, फिर लॉग इन करते समय हमारे सर्वर पर वापस लौटाता है। फिर ब्राउज़र में कुकी को स्टोर करने के लिए कुकी है जिसमें उपयोगकर्ता लॉग इन हैIonic 2

मुझे उस कुकी को लेने की ज़रूरत है और किसी भी तरह से इसे अपने आयनिक एप्लिकेशन में ले जाना है। मुझे पता है कि आप कुकीज़ को InAppBrowser से वापस एप्लिकेशन में साझा नहीं कर सकते हैं, लेकिन इसे वापस पाने के लिए कुछ तरीका होना चाहिए। पर्याप्त एप्लिकेशन ट्विटर, फेसबुक, आदि का उपयोग करते हैं जो मुझे लगता है कि कुछ आसान है जो मुझे याद आ रही है।

+0

एक ही समस्या का सामना करना पड़ रहा है। क्या आपको इसके लिए कोई समाधान मिला? –

उत्तर

2

हाँ यह डोमेन नीति के कारण कुख्यात रूप से कठिन है और inAppBrowser एक नया उदाहरण है जो पिछले वेब दृश्य को एक्सेस करने की अनुमति नहीं देता है।

हालांकि एक तरीका है InAppBrowser की executeScript() विधि जो आपको खुली विंडो में जावास्क्रिप्ट निष्पादित करने देता है।

var win = window.open("http://icenium.com", "_blank", "EnableViewPortScale=yes"); 
win.addEventListener("loadstop", function() { 
    win.executeScript({ code: "alert('hello');" }); 
}); 

तुम भी

var win = window.open("http://icenium.com", "_blank", "EnableViewPortScale=yes"); 
win.addEventListener("loadstop", function() { 
    win.executeScript(
     { code: "document.body.innerHTML" }, 
     function(values) { 
      alert(values[ 0 ]); 
     } 
    ); 
}); 

तो फिर तुम में सहेजने के लिए दिए गए मान इस्तेमाल कर सकते हैं खोला खिड़की से मूल्यों को पुनः प्राप्त करने एक कॉलबैक प्रदान कर सकते हैं local storage

This site provides some great code to help you out.

+0

यह document.body.innerHTML जैसी असुरक्षित सामग्री के लिए काम करता है। हालांकि यह कुकीज़ को पुनर्प्राप्त नहीं करता है (कोड: "document.cookie") कुछ भी नहीं लौटाता – Mac

+0

मुझे प्रश्न में उल्लिखित एक ही समस्या थी, मेरे मामले में कुकीज़ इनप्ब्रोसर और एप्लिकेशन के बीच साझा की जाती है, क्या किसी को कुकीज़ के साथ समस्या है? ? – wudpecker

+0

@ मैक एक स्क्रिप्ट डालने के बारे में कैसे है जो सत्र को वापस लेता है आईडी और कुछ यहां बताया गया है कि सत्र आईडी को यहां बताया गया है http://www.telerik.com/blogs/cross-window-communication-with-cordova's-inappbrowser – wudpecker

संबंधित मुद्दे