2014-10-06 6 views
5

मैं Google Developer's website पर वर्णित अनुसार Google+ वेब साइन-इन सर्वर साइड प्रवाह की थोड़ी भिन्नता का प्रयास कर रहा हूं। सही कह रही है कि अपने स्थानीय विकास प्रणाली https प्रोटोकॉल का उपयोग करने के लिए स्थापित नहीं किया जा सकता मेंक्या मैं स्थानीय विकास के लिए https का उपयोग कर सकता हूं?

Uncaught SecurityError: Blocked a frame with origin " http://my-development-system.dev " from accessing a frame with origin " https://accounts.google.com ". The frame requesting access has a protocol of "http", the frame being accessed has a protocol of "https". Protocols must match.

I Am:

गूगल के gapi कोड इस त्रुटि संदेश दे रहा है?

+2

त्रुटि कहती है कि आप * नहीं * HTTPS का उपयोग कर रहे हैं। क्या आपका मतलब है कि आप एक विश्वसनीय प्रमाणपत्र के लिए भुगतान नहीं करना चाहते हैं? क्या आपको स्वयं हस्ताक्षरित कॉर्ट के साथ समस्याएं मिलीं? –

+0

मैं इसे अपाचे के साथ उपयोग करता हूं लेकिन मुझे अपने प्रमाणपत्र प्रमाणित करना पड़ता है – Quince

+2

लेकिन त्रुटि पढ़ने से मुझे पता चलता है कि आप https का उपयोग नहीं कर रहे हैं। अपने कर्ट जेनरेट करें, एसएसएल का उपयोग करने के लिए अपाचे कॉन्फ़िगर करें और पुनः प्रयास करें। –

उत्तर

0

मैं कह रहा है कि

my local development system cannot be set up to use the https protocol

यह कर सकते हैं गलत था! बस स्वयं प्रमाणीकरण एसएसएल का उपयोग करके।

1

यह वह जगह है न केवल एक भिन्न प्रोटोकॉल (HTTP accounts.google.com पर अपनी साइट बनाम HTTPS पर), यह इसलिए भी कि डोमेन से मेल नहीं खाता है (और उस बात के लिए पोर्ट), एक प्रतिबंध Same Origin Policy द्वारा लगाए गए से कोई लेना देना।

यह नीति एक फ्रेम के अंदर एक साइट जैसे www.bank.com लोड हो रहा है (या पॉपअप विंडो अगर तैयार अक्षम किया गया है) और फिर डोम तक पहुँचने से बंद हो जाता है www.evil.com। यदि डीओएम का उपयोग किया जा सकता है, तो यह एक बड़ा सुरक्षा जोखिम होगा क्योंकि कोई भी वेबसाइट किसी अन्य साइट पर आपका निजी डेटा पढ़ सकती है।

अन्य निर्दिष्ट डोमेन को सामग्री पढ़ने की अनुमति देने के लिए CORS नीति और आउटपुट सर्वर साइड हेडर को कार्यान्वित करके पहुंच की अनुमति देना संभव है, हालांकि यह आपके मामले में Google की तरफ होगा। तो जब तक https://accounts.google.comCORS नीति लागू नहीं करता है, तो आप सर्वर साइड प्रवाह का क्लाइंट-साइड भिन्नता नहीं बना पाएंगे। एक और बाधा यह है कि अगर सीओआरएस लागू किया गया था तो यह डीओएम तक पहुंच की अनुमति नहीं देता है। हालांकि, आप AJAX कॉल के माध्यम से किसी अन्य डोमेन, प्रोटोकॉल या पोर्ट से सामग्री पुनर्प्राप्त करने में सक्षम होंगे। प्रमाणीकरण प्रमाण-पत्र (यानी इस मामले में कुकीज़) के अनुरोध के साथ भेजने और आपके डोमेन द्वारा पढ़ने वाली प्रतिक्रिया के लिए लक्ष्य साइट को Access-Control-Allow-Credentials: true शीर्षलेख भी आउटपुट करना होगा।

Can I use https for local development?

अपने मूल प्रश्न का उत्तर देने के लिए, उत्तर हाँ है। यह अधिकांश उद्देश्यों के लिए एक स्व-हस्ताक्षरित प्रमाणपत्र हो सकता है और यह आपके ब्राउज़र में इस विशेष त्रुटि संदेश को प्रभावित नहीं करेगा (जैसा कि आपने ब्राउज़र उपयोगकर्ता को प्रमाण पत्र स्वीकार करने और भरोसा करने के लिए चुना है)।

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

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