मैं कैसे पॉपअप ( window.open
) का उपयोग करके रिएक्ट में OAuth को लागू करने में रुचि रखता हूं ।
उदाहरण के लिए मेरे पास है:
mysite.com
- यह वह जगह है जहां मैं पॉपअप खोलता हूं।passport.mysite.com/oauth/authorize
- पॉप अप।
मुख्य सवाल यह है कि window.open
(पॉपअप) के बीच संबंध कैसे बनाया जाए और window.opener
(जैसा कि यह ज्ञात है। विंडोर क्रॉस-डोमेन सुरक्षा के कारण शून्य है इसलिए हम अब इसका उपयोग नहीं कर सकते हैं)।
Security
window.opener
हटा दिया जाता है जब भी आप एक अलग होस्ट (सुरक्षा कारणों से) पर नेविगेट करते हैं, तो इसके आसपास कोई रास्ता नहीं है। यदि संभव हो तो एक ही विकल्प एक फ्रेम में भुगतान करना चाहिए। शीर्ष दस्तावेज़ को एक ही होस्ट पर रहने की आवश्यकता है।
योजना:
संभव समाधान:
- यहां
setInterval
वर्णित का उपयोग करके एक खुली हुई खिड़की की जांच करें । क्रॉस-स्टोरेज का उपयोग करना (इसके लायक नहीं imho)।
तो 2019 में सबसे अच्छा अनुशंसित दृष्टिकोण क्या है?
प्रतिक्रिया के लिए रैपर - https://github.com/Ramshackle-Jamathon/react-oauth-pupup
localStorage
, लेकिन यह केवल उसी डोमेन के लिए काम करता है, इसलिए यह मेरी स्थिति में काम नहीं करता है
window.opener
हमारे डोमेन पर वापस रीडायरेक्ट करने के बाद पुनर्स्थापित करता है , लेकिन ऐसा नहीं है
setInterval
लोकलस्टोरेज के लिए कमबैक के रूप में इस्तेमाल किया जा सकता है