15

मैं वेबसाइटें (https://developers.google.com/identity/sign-in/web/) के लिए गूगल साइन-इन उपयोग करने का प्रयास कर रहा हूँ और पाया है कि मेरी समाधान इंटरनेट एक्सप्लोरर 11 में काम नहीं कर रहा के रूप में कई को खत्म करने की कोशिश करने के लिए यथासंभव कारक, मैंने Google द्वारा प्रदान किए गए नमूना कोड के आधार पर एक सरल परीक्षण केस बनाया है।मूल Google साइन-इन 11

मैं अपने विंडोज 7 पीसी पर क्रोम में यह परीक्षण किया है, क्रोम पर अपने मैक, सफारी पर अपने मैक, Firefox पर मेरी मैक और सफारी मेरे iPhone पर। यह इन सभी पर काम करता है (उदाहरण के लिए, जब मैं साइन इन बटन पर क्लिक करता हूं और अपना Google खाता चुनता/डालता हूं, तो यह पृष्ठ पर वापस आता है और बटन कहता है, "साइन इन")।

यह नहीं है, हालांकि, Internet Explorer 11 पर पीसी पर क्रोम iOS के लिए काम करता है या अजीब पर्याप्त,। जब बटन क्लिक किया जाता है, तो मुझे एक विंडो खोलने के लिए एक विंडो खुलती है, लेकिन चयन करने के बाद, विंडो बंद हो जाती है और एक बटन के साथ पृष्ठ पर वापस आती है जो अभी भी कहती है, "साइन इन करें।"

<html> 
<head> 
<meta name="google-signin-client_id" content="61023618497-vqfbod57f26ncjl9d6firk3t09ve4tt3.apps.googleusercontent.com"> 
<script src="https://apis.google.com/js/platform.js" async defer></script> 
</head> 
<body> 
<div class="g-signin2"></div> 
</body> 
</html> 

क्या हो रहा हो सकता है के रूप में कोई भी विचार:

यहाँ नमूना कोड है? मैंने चारों ओर खोज की है और मुझे कोई समाधान नहीं मिला है।

एक विचार IE के विश्वसनीय साइटों के लिए "accounts.google.com" जोड़ने के लिए किया गया था। यह काम नहीं किया। मैंने http के बजाय https के माध्यम से पृष्ठ तक पहुंचने का भी प्रयास किया। इससे कोई फर्क नहीं पड़ता। मुझे और कुछ और कोशिश करनी चाहिए?

+2

हमें इसे ठीक करने के लिए Google की आवश्यकता है। किसी को भी उनके साथ कोई समस्या खोलने का तरीका पता है? मैंने इस प्रश्न और अन्य पर टैग अपडेट किए हैं (http://stackoverflow.com/questions/31494204/google-sign-in-for-web-apps-not-working-with-internet-explorer) दोनों में से अनुशंसा करें (https://groups.google.com/forum/#!topic/google-federated-login-api/TL9Pxn_s7yw) – gerry3

+0

यह Google साइन-इन (नवंबर 1 9 ,015) के हालिया अपडेट में हल किया गया है। आपके द्वारा संदर्भित पृष्ठों को अब IE11/Edge में काम करना चाहिए। – class

+1

मैं इस सवाल को ऑफ-विषय के रूप में बंद करने के लिए मतदान कर रहा हूं क्योंकि यह Google के अंत में एक बग था जो अब तय है। – j08691

उत्तर

1

सुनिश्चित करें कि आप IE 11 सभी तृतीय पक्ष कुकी को करने के लिए कॉन्फ़िगर नहीं है कि हो सकता है।

तृतीय पक्ष कुकीज़ की आवश्यकता होती है, और उपयोगकर्ता अनुभव जो तब होता है जब तृतीय पक्ष कुकीज़ अवरुद्ध होती है - जैसा कि आपने पाया है - वांछित होने के लिए बहुत कुछ छोड़ देता है। उपयोगकर्ता को कोई चेतावनी या त्रुटि संदेश प्रस्तुत नहीं किया गया है।

आप ऐसा होने से पहले त्रुटि को पकड़ने का प्रयास कर सकते हैं। यह पता लगाना संभव है कि किसी दूसरे डोमेन पर कुकी सेट करने की कोशिश करके तृतीय पक्ष कुकीज़ अवरोधित हैं या नहीं (और जिसे आप नियंत्रित करते हैं) और फिर कुकी सेट करने के लिए दूसरा अनुरोध करना है। आपको अपने सर्वर पर एक स्क्रिप्ट या कुछ चाहिए जो कुकी को सेट और चेक कर सकता है (यह ब्राउज़र सुरक्षा मॉडल की वजह से केवल जावास्क्रिप्ट का उपयोग करके नहीं किया जा सकता है)।

+2

यह मुद्दा नहीं है, कम से कम जिसे मैं देख रहा हूं। मुझे आईई कंसोल में 'SCRIPT5: एक्सेस अस्वीकार कर दिया गया' त्रुटि मिलती है, और यह Google iframe को संदर्भित करती है। सभी कुकीज़ (कम सुरक्षा सेटिंग्स) को अनुमति देने के लिए IE को बदलना कोई प्रभाव नहीं पड़ता है। विश्वसनीय साइट्स पर सेवारत साइट, accounts.google.com, आदि को जोड़ना कोई प्रभाव नहीं पड़ता है। – razor

3

कुछ महीने बाद मैं एक ही समस्या में भाग गया।

आप को देखो, तो:

https://developers.google.com/identity/sign-in/web/build-button

और उनके डेमो बटन के साथ एक साइन-इन की कोशिश है, यह IE11 साथ काम नहीं करता (लेकिन यह अन्य ब्राउज़रों मैं अलग ओएस पर उपयोग कर रहा हूँ के साथ काम करता है)। मुझे कोई समाधान नहीं मिला।

मैं भविष्य के पाठक के लिए टिप्पणी छोड़ रहा हूं, जो भविष्य में एक ही समस्या की खोज करता है। यदि Google पर डेमो बटन काम नहीं करता है, तो वह कम से कम आश्वस्त रह सकती है कि समस्या शायद उसके कोड में नहीं है। :)

1

मुझे सफलतापूर्वक निम्नलिखित करने में सफलता मिली है: $ document.ready से Google बटन प्रतिपादन इत्यादि शुरू करने के लिए स्क्रिप्ट लोड हो रहा है। (यानी। जो भी आपके पास apis.google.com/js/client:platform.js?onload= x)

उदा।

<script src="https://apis.google.com/js/client:platform.js?onload=startApp" async defer></script> 

ले जाएँ Startapp() यहाँ के लिए:

$(document).ready(function() { 
    startApp(); 

कहाँ Startapp() इस तरह दिखता है:

function startApp() { 
    gapi.load('auth2', function() { 
     gapi.client.load('plus', 'v1').then(function() { 
      gapi.signin2.render('signin-button', { 
       scope: 'https://www.googleapis.com/auth/plus.login', 
       fetch_basic_profile: false 
      }); 
      gapi.auth2.init({ 
       fetch_basic_profile: false, 
       scope: 'https://www.googleapis.com/auth/plus.login' 
      }).then(
       function() { 
        console.log('init'); 
        auth2 = gapi.auth2.getAuthInstance(); 
        auth2.isSignedIn.listen(updateSignIn); 
        auth2.then(updateSignIn()); 
       }); 
     }); 
    }); 
} 
0

मैं स्थानीय होस्ट पर काम करने के उदाहरण पाने के लिए संघर्ष करना पड़ा, लेकिन जैसा कि जैसे ही मैंने इसे वास्तविक यूआरएल पर तैनात किया, यह काम किया।

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