चेतावनी: यह डेटा Google उपयोगकर्ता डेटा नीति के तहत दिया जाता है. कृपया समीक्षा करें और नीति का पालन करें. ऐसा न करने पर, प्रोजेक्ट या खाता निलंबित हो सकता है.

'Google साइन-इन' से माइग्रेट करना

इस गाइड की मदद से, पुरानी JavaScript लाइब्रेरी को माइग्रेट करने के लिए ज़रूरी बदलावों और चरणों को समझा जा सकता है. यह लाइब्रेरी, Google साइन इन प्लैटफ़ॉर्म की लाइब्रेरी से नई Google Identity सेवा लाइब्रेरी में माइग्रेट की जाती है, ताकि पुष्टि की जा सके.

अगर आपका क्लाइंट अनुमति देने के लिए JavaScript या दूसरी पुरानी लाइब्रेरी के लिए Google API क्लाइंट लाइब्रेरी का इस्तेमाल कर रहा है, तो ज़्यादा जानकारी के लिए Google Identity सेवाओं पर माइग्रेट करें देखें.

पुष्टि करना और अनुमति देना

पुष्टि करना, यह बताता है कि कोई व्यक्ति कौन है. साथ ही, आम तौर पर इसे उपयोगकर्ता के लिए साइन अप या साइन इन करना कहा जाता है. अनुमति देना, डेटा या संसाधनों का ऐक्सेस देने या अस्वीकार करने की प्रोसेस है. उदाहरण के लिए, आपका ऐप्लिकेशन उपयोगकर्ता की #Google डिस्क को ऐक्सेस करने के लिए, आपकी सहमति का अनुरोध करता है.

पुरानी 'Google साइन-इन' प्लैटफ़ॉर्म लाइब्रेरी की तरह ही, Google Identity सेवाओं की नई लाइब्रेरी को पुष्टि करने और अनुमति देने की प्रक्रिया, दोनों के लिए बनाया गया है.

हालांकि, नई लाइब्रेरी इन दो प्रोसेस को अलग करती है. इससे डेवलपर, Google खातों को आपके ऐप्लिकेशन के साथ इंटिग्रेट कर सकते हैं.

अगर आपके इस्तेमाल के उदाहरण में सिर्फ़ पुष्टि करने से जुड़ी समस्याएं हैं, तो कृपया इस पेज को पढ़ना जारी रखें.

अगर आपके इस्तेमाल के उदाहरण में अनुमति देना शामिल है, तो कृपया उपयोगकर्ता की अनुमति के काम करने का तरीका और Google Identity सेवाओं पर माइग्रेट करें पढ़ें. यह पक्का करें कि आपका ऐप्लिकेशन, नए और बेहतर एपीआई का इस्तेमाल कर रहा है.

कौनसे बदलाव हुए हैं

उपयोगकर्ताओं के लिए, नई Google Identity सेवा लाइब्रेरी में उपयोगिता में कई सुधार किए गए हैं. हाइलाइट में ये चीज़ें शामिल हैं:

  • कम रुकावट आने पर, एक टैप से अपने-आप साइन इन होने की सुविधा पाएं.
  • उपयोगकर्ता के मनमुताबिक बनाने के साथ रीफ़्रेश किया गया साइन इन बटन,
  • पूरे वेब पर लगातार ब्रैंडिंग और एक जैसा साइन-इन करने का व्यवहार समझने और भरोसा बढ़ाने में मदद करता है,
  • तेज़ी से सामग्री पर पहुंचें; उपयोगकर्ता सीधे या आसानी से साइन-अप और साइन-इन कर सकते हैं.

डेवलपर के लिए हमारा फ़ोकस, जटिलता को कम करना, सुरक्षा को बेहतर बनाना, और आपके इंटिग्रेशन को जल्द से जल्द और आसान बनाना है. इनमें से कुछ सुधारों में शामिल हैं:

  • सिर्फ़ एचटीएमएल का इस्तेमाल करके, अपनी साइट के स्टैटिक कॉन्टेंट में उपयोगकर्ता को साइन इन करने का विकल्प,
  • अनुमति देने और उपयोगकर्ता का डेटा शेयर करने के लिए, साइन इन पुष्टि करने और अलग करने के बाद, OAuth2 इंटिग्रेशन आसान नहीं होता है. यह सिर्फ़ उपयोगकर्ताओं के लिए आपकी साइट में साइन इन करने के लिए ज़रूरी है
  • पॉप-अप और रीडायरेक्ट मोड दोनों काम करते रहेंगे, लेकिन Google की #29 इंफ़्रास्ट्रक्चर अब आपके बैकएंड सर्वर और
  • Google Identity की लाइब्रेरी और Google API JavaScript लाइब्रेरी, दोनों को एक ही लाइब्रेरी में इकट्ठा करना,
  • साइन-इन के जवाबों के लिए, अब आपको यह तय करने का मौका मिला है कि प्रॉमिस का इस्तेमाल करना है या नहीं. साथ ही, आसानी से इस्तेमाल करने की सुविधा के ज़रिए गैटर स्टाइल के फ़ंक्शन से आपको जो निर्देश मिला है उसे हटा दिया गया है.

साइन-इन माइग्रेशन का उदाहरण

अगर आप मौजूदा 'Google साइन इन' बटन से माइग्रेट कर रहे हैं और सिर्फ़ अपनी साइट में उपयोगकर्ताओं को साइन इन करना चाहते हैं, तो सबसे सीधे तौर पर किया गया बदलाव नए मनमुताबिक बनाए गए बटन पर अपडेट करना है. ऐसा JavaScript लाइब्रेरी को जोड़कर और अपने कोडबेस को अपडेट करके किया जा सकता है, ताकि एक नए साइन-इन ऑब्जेक्ट का इस्तेमाल किया जा सके.

लाइब्रेरी और कॉन्फ़िगरेशन

'Google साइन इन' की पुरानी प्लैटफ़ॉर्म लाइब्रेरी: apis.google.com/js/platform.js, और JavaScript के लिए Google API क्लाइंट लाइब्रेरी: gapi.client, उपयोगकर्ता की पुष्टि करने और अनुमति देने के लिए अब ज़रूरी नहीं है. इनकी जगह एक नई Google Identity सेवा JavaScript लाइब्रेरी ने ले ली है: accounts.google.com/gsi/client.

पुराने तीन JavaScript मॉड्यूल: api, client, और platform साइन इन करने के लिए इस्तेमाल किए जाते हैं. ये सभी apis.google.com से लोड किए जाते हैं. उन जगहों की पहचान करने में आपकी मदद करने के लिए जहां आम तौर पर पुरानी लाइब्रेरी को आपकी साइट में शामिल किया जा सकता है, आम तौर पर:

  • साइन इन करने के लिए डिफ़ॉल्ट बटन, apis.google.com/js/platform.js को लोड करता है,
  • पसंद के मुताबिक बनाया गया बटन ग्राफ़िक, apis.google.com/js/api:client.js को लोड करता है और
  • gapi.client का सीधे तौर पर इस्तेमाल apis.google.com/js/api.js लोड होता है.

ज़्यादातर मामलों में, आप मौजूदा वेब ऐप्लिकेशन क्लाइंट आईडी के क्रेडेंशियल का इस्तेमाल जारी रख सकते हैं. माइग्रेट करने के दौरान, हमारा सुझाव है कि आप OAuth 2.0 की नीतियों की समीक्षा करें. साथ ही, पुष्टि करने के लिए Google API (एपीआई) कंसोल का इस्तेमाल करें. साथ ही, अगर ज़रूरी हो, तो नीचे दी गई क्लाइंट सेटिंग अपडेट करें:

  • आपके टेस्ट और प्रोडक्शन ऐप्लिकेशन अलग-अलग प्रोजेक्ट का इस्तेमाल करते हैं और उनके अपने क्लाइंट आईडी होते हैं,
  • OAuth 2.0 क्लाइंट आईडी टाइप "वेब ऐप्लिकेशन&कोटेशन; और
  • एचटीटीपीएस का इस्तेमाल, अनुमति वाले JavaScript के ऑरिजिन और रीडायरेक्ट यूआरआई के लिए किया जाता है.

प्रभावित कोड और परीक्षण की पहचान करना

डीबग कुकी, प्रभावित कोड का पता लगाने और टैग को बंद करने के बाद के व्यवहार की जांच करने में मदद कर सकती है.

बड़े या जटिल ऐप्लिकेशन में, ऐसे सभी कोड को ढूंढना मुश्किल हो सकता है जिन पर gapi.auth2 मॉड्यूल के बंद होने का असर पड़ा है. कंसोल में जल्द ही बंद होने वाले फ़ंक्शन के मौजूदा इस्तेमाल को लॉग करने के लिए, G_AUTH2_MIGRATION कुकी की वैल्यू को informational पर सेट करें. वैकल्पिक तौर पर, सेशन स्टोरेज में लॉग इन करने के लिए, कोलन के बाद एक मुख्य वैल्यू भी जोड़ें. साइन इन करने और क्रेडेंशियल की समीक्षा मिलने या इकट्ठा किए गए लॉग को बाद में विश्लेषण के लिए बैकएंड में भेजने के बाद. उदाहरण के लिए, informational:showauth2use, ऑरिजिन और यूआरएल को showauth2use नाम की सेशन स्टोरेज कुंजी में सेव करता है.

gapi.auth2 मॉड्यूल लोड न होने पर, ऐप्लिकेशन के काम करने के तरीके की पुष्टि करने के लिए, G_AUTH2_MIGRATION कुकी की वैल्यू को enforced पर सेट करें. इससे, लागू होने की तारीख से पहले, सेवा बंद होने के बाद के व्यवहार की जांच करने की सुविधा मिलेगी.

संभावित G_AUTH2_MIGRATION कुकी मान:

  • enforced gapi.auth2 मॉड्यूल लोड न करें.
  • informational का इस्तेमाल करके, JS कंसोल में फ़ंक्शन का इस्तेमाल बंद करें. इसके अलावा, वैकल्पिक कुंजी के नाम को सेट करने पर भी, सेशन के स्टोरेज में लॉग इन करें: informational:key-name.

उपयोगकर्ता का असर कम करने के लिए, यह सुझाव दिया जाता है कि पहले आप प्रोडक्शन और एनवायरमेंट में इस्तेमाल करने से पहले, इस कुकी को डेवलपमेंट और टेस्ट के दौरान स्थानीय तौर पर सेट करें.

एचटीएमएल और JavaScript

सिर्फ़ पुष्टि करने के लिए साइन इन करने पर, मौजूदा 'Google साइन इन' बटन का उदाहरण कोड और रेंडरिंग दिखाई जाती हैं. पॉप-अप या रीडायरेक्ट मोड में से कोई एक विकल्प चुनें. इससे, आप JavaScript कॉलबैक या सुरक्षित बैक अप सर्वर एंडपॉइंट पर, सुरक्षित तरीके से रीडायरेक्ट किए जाने की प्रक्रिया में फ़र्क़ देख सकते हैं.

पुराना तरीका

'Google साइन-इन' बटन रेंडर करें और सीधे उपयोगकर्ता और #39; के ब्राउज़र से साइन-इन प्रबंधित करने के लिए कॉलबैक का इस्तेमाल करें.

<html>
  <body>
    <script src="https://apis.google.com/js/platform.js" async defer></script>
    <meta name="google-signin-client_id" content="YOUR_CLIENT_ID">
    <div class="g-signin2" data-onsuccess="handleCredentialResponse"></div>
  </body>
</html>

रीडायरेक्ट मोड

Google साइन इन बटन को, उपयोगकर्ता के ब्राउज़र से AJAX कॉल पर खत्म होने वाले सर्वर को अपने एंड-एंड सर्वर के लॉगिन एंडपॉइंट पर रेंडर करें.

<html>
  <body>
    <script src="https://apis.google.com/js/platform.js" async defer></script>
    <meta name="google-signin-client_id" content="YOUR_CLIENT_ID">
    <div class="g-signin2" data-onsuccess="handleCredentialResponse"></div>
    <script>
      function handleCredentialResponse(googleUser) {
        ...
        var xhr = new XMLHttpRequest();
        xhr.open('POST', 'https://yourbackend.example.com/tokensignin');
        xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
        xhr.onload = function() {
          console.log('Signed in as: ' + xhr.responseText);
        };
        xhr.send('idtoken=' + id_token);
      }
    </script>
  </body>
</html>

रेंडर किया गया

नए विज़ुअल एट्रिब्यूट, पसंद के मुताबिक बटन बनाने के पुराने तरीके को आसान बनाते हैं. साथ ही, gapi.signin2.render() को किए गए कॉल खत्म कर देते हैं और आपकी साइट पर इमेज और विज़ुअल एसेट को होस्ट करने और उनका रखरखाव करने की ज़रूरत होती है.

Google साइन-इन Google से साइन इन किया गया

उपयोगकर्ता के साइन इन की स्थिति अपडेट करने वाला बटन टेक्स्ट.

नया तरीका

नई लाइब्रेरी को, सिर्फ़ पुष्टि करने की सुविधा वाले आसान साइन इन मोड में इस्तेमाल करने के लिए, पॉप-अप या रीडायरेक्ट मोड में से चुनें. इसके बाद, लॉगिन पेज पर अपने मौजूदा इंप्लीमेंटेशन को बदलने के लिए कोड सैंपल का इस्तेमाल करें.

उपयोगकर्ता के ब्राउज़र से सीधे साइन इन करने के लिए, कॉलबैक का इस्तेमाल करें.

<html>
  <body>
    <script src="https://accounts.google.com/gsi/client" async defer></script>
    <div id="g_id_onload"
         data-client_id="YOUR_CLIENT_ID"
         data-callback="handleCredentialResponse">
    </div>
    <div class="g_id_signin" data-type="standard"></div>
  </body>
</html>

रीडायरेक्ट मोड

Google, आपके लॉग इन एंडपॉइंट को Google के मुताबिक शुरू करता है, जैसा कि data-login_url एट्रिब्यूट में बताया गया है. पहले, POST ऑपरेशन और पैरामीटर के नाम के लिए आप ज़िम्मेदार थे. नई लाइब्रेरी, credential पैरामीटर में आपके एंडपॉइंट के लिए आईडी टोकन पोस्ट करती है. आखिर में, अपने बैकएंड सर्वर पर आईडी टोकन की पुष्टि करें.

<html>
  <body>
    <script src="https://accounts.google.com/gsi/client" async defer></script>
    <div id="g_id_onload"
         data-client_id="YOUR_CLIENT_ID"
         data-ux_mode="redirect"
         data-login_uri="https://www.example.com/your_login_endpoint">
    </div>
    <div class="g_id_signin" data-type="standard"></div>
  </body>
</html>

रेंडर किया गया

'Google से साइन इन करें' बटन का साइज़, आकार, और रंग बदलने के लिए, विज़ुअल एट्रिब्यूट का इस्तेमाल करें. साइन इन की दर को बेहतर बनाने के लिए, 'एक टैप वाला पॉप-अप' दिखाएं. साथ ही, आपके हिसाब से बनाया गया बटन दिखाएं.

&#39;Google से साइन इन करें&#39; बटन एक टैप से पॉप-अप

उपयोगकर्ता की साइन इन स्थिति, बटन के टेक्स्ट को &कोटेशन/साइन इन करें/से कोट नहीं किया जाता है. सहमति देने या सामान लौटाने पर, 'लोगों के हिसाब से' बटन में उपयोगकर्ता का नाम, ईमेल, और प्रोफ़ाइल फ़ोटो शामिल होती है.

सिर्फ़ पुष्टि करने के इस आसान उदाहरण में, नई accounts.google.com/gsi/client लाइब्रेरी, g_id_signin क्लास, और g_id_onloadऑब्जेक्ट पुरानी apis.google.com/js/platform.js लाइब्रेरी और g-signin2 ऑब्जेक्ट की जगह लें.

पसंद के मुताबिक बनाए गए नए बटन को रेंडर करने के अलावा, उदाहरण कोड में एक नया टैप टैप पॉप-अप भी दिखता है. हमारा सुझाव है कि आप जहां भी मनमुताबिक बनाया गया बटन दिखाएं, वहां एक टैप से पॉप-अप दिखाएं. इससे साइन अप और साइन इन करने के दौरान उपयोगकर्ता को दिक्कत नहीं होगी.

हालांकि, साइन-इन करने में होने वाली दिक्कत की वजह से, इसका सुझाव नहीं दिया जाता है. हालांकि, फ़ोन पर अपने-आप रिकॉर्ड होने वाले नए बटन को, सिर्फ़ एक टैप वाले डायलॉग बॉक्स को दिखाए बिना, सिर्फ़ दिखाया जा सकता है. ऐसा करने के लिए, data-auto_prompt एट्रिब्यूट को false पर सेट करें.

एचटीएमएल और JavaScript एपीआई

ऊपर दिए गए उदाहरण में, आपकी वेबसाइट में साइन इन करने के लिए, नए एचटीएमएल एपीआई को इस्तेमाल करने का तरीका बताया गया है. वैकल्पिक रूप से, आप फ़ंक्शनल तौर पर एक जैसे JavaScript एपीआई का इस्तेमाल कर सकते हैं या अपनी साइट पर एचटीएमएल और JavaScript एपीआई को मिला सकते हैं और उनका मिलान कर सकते हैं.

कॉलबैक को पसंद के मुताबिक बनाने के विकल्प, जैसे कि कॉलबैक टाइप और विशेषताओं को इंटरैक्टिव रूप से देखने के लिए, हमारा कोड जनरेटर देखें. जैसे: रंग, साइज़, आकार, टेक्स्ट, और थीम. इसका इस्तेमाल अलग-अलग विकल्पों की तेज़ी से तुलना करने और आपकी साइट पर इस्तेमाल करने के लिए YouTube स्निपेट जनरेट करने में किया जा सकता है.

एक टैप से किसी भी पेज से साइन इन करें

एक टैप से, उपयोगकर्ताओं को आपकी साइट के लिए साइन अप या साइन इन करने में आसानी होती है. यह आपको सीधे अपनी साइट के किसी पेज से उपयोगकर्ता के लिए साइन-इन करने की सुविधा देता है. साथ ही, उपयोगकर्ताओं के लिए खास तौर पर बनाए गए लॉगिन पेज पर जाने की ज़रूरत नहीं रखता. दूसरे शब्दों में कहें, तो इससे उपयोगकर्ताओं को आपके लॉग इन पेज के अलावा, किसी दूसरे पेज से साइन अप और साइन इन करने की सुविधा मिलती है.

किसी भी पेज से साइन-इन चालू करने के लिए, हमारा सुझाव है कि आप g_id_onloadशेयर किए गए हेडर, फ़ुटर या अपनी साइट के दूसरे ऑब्जेक्ट में कोई दूसरा ऑब्जेक्ट शामिल करें.

हम g_id_signin जोड़ने का भी सुझाव देते हैं. यह आपके हिसाब से साइन इन बटन दिखाता है, जो सिर्फ़ लॉगिन या उपयोगकर्ता खाते के मैनेजमेंट पेजों पर दिखता है. उपयोगकर्ताओं को फ़ेडरेटेड प्रोवाइडर के बटन और उपयोगकर्ता नाम के साथ-साथ पासवर्ड डालने के फ़ील्ड के साथ, साइन अप या साइन इन करने का विकल्प दें.

टोकन रिस्पॉन्स

उपयोगकर्ता के साइन इन करने के लिए, आपको OAuth2 ऑथराइज़ेशन कोड समझने, टोकन ऐक्सेस करने या टोकन रीफ़्रेश करने की ज़रूरत नहीं पड़ती. इसके बजाय, JSON वेब टोकन (JWT) आईडी टोकन का इस्तेमाल, साइन-इन की स्थिति और उपयोगकर्ता प्रोफ़ाइल को शेयर करने के लिए किया जाता है. आसान ऐक्सेस के तौर पर, अब आपको उपयोगकर्ता प्रोफ़ाइल डेटा के साथ काम करने के लिए, &gett&gett;style ऐक्सेसर के तरीकों का इस्तेमाल करने की ज़रूरत नहीं है.

Google का साइन किया गया JWT आईडी टोकन क्रेडेंशियल, सुरक्षित रूप से वापस किया जाता है:

  • पॉप-अप मोड में उपयोगकर्ता के ब्राउज़र पर आधारित JavaScript कॉलबैक हैंडलर के लिए या
  • जब आपके साइन इन करने के लिए 'Google से साइन इन करें' बटन ux_mode को redirect पर सेट किया जाता है, तब Google आपके लॉगिन एंडपॉइंट पर आपके बैकएंड सर्वर पर जाता है.

दोनों मामलों में, नीचे दिए गए तरीके से अपने मौजूदा कॉलबैक हैंडलर अपडेट करें:

  • googleUser.getBasicProfile() को कॉल,
  • BasicProfile, और getId(), getName(), getGivenName(), getFamilyName(), getImageUrl(), getEmail() तरीकों, और
  • AuthResponse ऑब्जेक्ट का इस्तेमाल.

इसके बजाय, नए JWT में credential सब-फ़ील्ड के लिए सीधे तौर पर रेफ़रंस का इस्तेमाल करें CredentialResponse ऑब्जेक्ट प्रोफ़ाइल डेटा के साथ काम करने के लिए ऑब्जेक्ट.

इसके अलावा, सिर्फ़ रीडायरेक्ट मोड के लिए, क्रॉस-साइट अनुरोध (सीएसआरएफ़) और बैकएंड सर्वर पर Google आईडी टोकन की पुष्टि करना को रोकना न भूलें.

यह समझने के लिए कि उपयोगकर्ता आपकी साइट के साथ किस तरह इंटरैक्ट कर रहे हैं, क्रेडेंशियल में मौजूद select_by फ़ील्ड का इस्तेमाल, उपयोगकर्ता की सहमति के नतीजे और साइन इन करने के खास तरीके के बारे में जानने के लिए किया जा सकता है.

जब कोई उपयोगकर्ता पहली बार आपकी वेबसाइट में साइन इन करता है, तो Google उपयोगकर्ता को आपकी खाता प्रोफ़ाइल को आपके ऐप्लिकेशन के साथ शेयर करने की सहमति देने का संकेत देता है. सहमति देने के बाद ही, उपयोगकर्ता और #39; प्रोफ़ाइल को आईडी टोकन के ज़रिए आपके ऐप्लिकेशन से शेयर किया जाता है क्रेडेंशियल पेलोड. इस प्रोफ़ाइल का ऐक्सेस निरस्त करना पुरानी साइन-इन लाइब्रेरी के ऐक्सेस टोकन को निरस्त करने जैसा ही है.

उपयोगकर्ता https://myaccount.google.com/permissions पर जाकर, अनुमतियां रद्द कर सकते हैं. साथ ही, वे Google खाते से आपका ऐप्लिकेशन डिसकनेक्ट भी कर सकते हैं. इसके अलावा, वे एपीआई कॉल से सीधे आपके ऐप्लिकेशन से डिसकनेक्ट हो सकते हैं जिसे आपने लागू किया है. disconnect वाले पुराने तरीके को revoke नए तरीके से बदल दिया गया है.

जब कोई उपयोगकर्ता अपने प्लैटफ़ॉर्म से अपना खाता मिटाता है, तो सबसे सही तरीका है कि आप revokeका इस्तेमाल करके, अपने ऐप्लिकेशन को अपने Google खाते से डिसकनेक्ट कर दें.

पहले, auth2.signOut() को आपके ऐप्लिकेशन से उपयोगकर्ता साइन आउट मैनेज करने में मदद करने के लिए इस्तेमाल किया जा सकता था. auth2.signOut()का इस्तेमाल करते समय इसे हटा देना चाहिए. साथ ही, आपके ऐप्लिकेशन को उपयोगकर्ता के सेशन की स्थिति और साइन इन की स्थिति के हिसाब से मैनेज करना चाहिए.

सेशन की स्थिति और लिसनर

नई लाइब्रेरी, आपके वेब ऐप्लिकेशन में साइन इन किए जाने की स्थिति या सत्र की स्थिति को बनाए नहीं रखती.

किसी Google खाते में साइन-इन की स्थिति और आपके ऐप्लिकेशन का सेशन की स्थिति और साइन इन की स्थिति अलग-अलग होती है.

उपयोगकर्ता के Google खाते में साइन इन करने की स्थिति और आपका ऐप्लिकेशन एक-दूसरे से अलग होता है. हालांकि, जब आप यह जान लेते हैं कि उपयोगकर्ता ने पुष्टि की है और अपने Google खाते में साइन इन किया हुआ है, तब साइन इन करने के दौरान वह एक-दूसरे से अलग होता है.

जब 'Google से साइन इन करें' सुविधा का इस्तेमाल किया जाता है, तो आपकी साइट पर एक टैप या अपने-आप साइन इन की सुविधा शामिल की जाती है, तो उपयोगकर्ताओं को सबसे पहले अपने Google खाते में साइन इन करना होगा:

  • पहली बार साइन-अप या अपनी साइट में साइन-इन करते समय, अपनी उपयोगकर्ता प्रोफ़ाइल शेयर करने की सहमति न दें,
  • और इसके बाद, आपकी साइट पर वापस आने वाले लोगों के साइन इन के लिए.

हो सकता है कि उपयोगकर्ता आपकी वेबसाइट पर साइन इन रहें, साइन आउट रहें या किसी दूसरे Google खाते पर स्विच कर लें.

अब आप सीधे अपने वेब ऐप्लिकेशन के उपयोगकर्ताओं के लिए, साइन-इन स्थिति प्रबंधित करने के लिए ज़िम्मेदार हैं. पहले, 'Google साइन-इन' ने उपयोगकर्ता के सेशन की स्थिति पर नज़र रखने में मदद की थी.

auth2.attachClickHandler() और इसके रजिस्टर किए गए कॉलबैक हैंडलर के सभी रेफ़रंस हटाएं.

पहले, लिसनर का इस्तेमाल करके किसी उपयोगकर्ता के Google खाते में साइन इन की स्थिति में हुए बदलावों को शेयर किया जाता था. लिसनर अब काम नहीं करते.

listen(), auth2.currentUser, और auth2.isSignedIn के सभी रेफ़रंस हटाएं.

कुकी

साइन इन करने के लिए Google, कुकी का सीमित इस्तेमाल करता है. इन कुकी के बारे में ज़्यादा जानकारी दी गई है. दूसरी तरह की कुकी, Google के इस्तेमाल के बारे में ज़्यादा जानने के लिए, Google, कुकी का इस्तेमाल कैसे करता है लेख देखें.

अब 'Google साइन इन' की पुरानी लाइब्रेरी की सेट की गई G_ENABLED_IDPS कुकी का इस्तेमाल नहीं किया जाता.

नई Google पहचान सेवाएं लाइब्रेरी, आपके कॉन्फ़िगरेशन विकल्पों के आधार पर इन क्रॉस-डोमेन कुकी को वैकल्पिक रूप से सेट कर सकती है:

  • g_state, उपयोगकर्ता के साइन आउट स्टेटस को सेव करता है और इसे 'एक टैप में पॉप-अप' या अपने-आप साइन-इन होने की सुविधा का इस्तेमाल करते समय सेट किया जाता है,
  • g_csrf_token, दो बार सबमिट होने वाली कुकी है, जिसका इस्तेमाल सीएसआरएफ़ को रोकने के लिए किया जाता है. साथ ही, यह आपके लॉगिन एंडपॉइंट को कॉल करने पर सेट हो जाती है. आपके लॉगिन यूआरआई की वैल्यू साफ़ तौर पर सेट की जा सकती है या डिफ़ॉल्ट तौर पर मौजूदा पेज के यूआरआई के तौर पर सेट की जा सकती है. आपके लॉगिन एंडपॉइंट को इन शर्तों के तहत कॉल किया जा सकता है. इसके लिए, इनका इस्तेमाल करें:

    • एचटीएमएल एपीआई data-ux_mode=redirect के साथ या data-login_uri के सेट होने पर या

    • ux_mode=redirect के साथ JavaScript एपीआई जहां google.accounts.id.prompt() का इस्तेमाल एक टैप में या अपने-आप साइन इन करने के लिए नहीं किया जाता.

अगर आपके पास ऐसी सेवा है जो कुकी मैनेज करती है, तो दो नई कुकी जोड़ना न भूलें. साथ ही, माइग्रेशन पूरा होने पर पुरानी कुकी हटा दें.

अगर आप एक से ज़्यादा डोमेन या सबडोमेन मैनेज करते हैं, तो सबडोमेन में एक टैप के साथ दिखाएं पर जाएं. इससे, आप g_state कुकी के साथ काम करने के बारे में ज़्यादा निर्देश जान पाएंगे.

उपयोगकर्ता के साइन इन करने के लिए ऑब्जेक्ट माइग्रेशन का रेफ़रंस

पुराना नया नोट
JavaScript लाइब्रेरी
apis.google.com/js/platform.js accounts.google.com/gsi/client पुराने को नया बनाएं.
apis.google.com/js/api.js accounts.google.com/gsi/client पुराने को नया बनाएं.
GoogleAuth ऑब्जेक्ट और उससे जुड़े तरीके:
GoogleAuth.attachClickHandler() JS और एचटीएमएल डेटा-कॉलबैक के लिए IdConfiguration.callback पुराने को नया बनाएं.
GoogleAuth.currentUser.get() क्रेडेंशियल रिस्पॉन्स इसके बजाय, CredentialResponse का इस्तेमाल करें.
GoogleAuth.currentUser.listen() हटाएं पर टैप करें. उपयोगकर्ता की Google पर मौजूदा साइन इन स्थिति उपलब्ध नहीं है. सहमति और साइन-इन के लिए, उपयोगकर्ताओं को Google में साइन इन करना होगा. CredentialResponse में दिए गए select_by फ़ील्ड का इस्तेमाल, साइन इन करने के तरीके के साथ-साथ उपयोगकर्ता की सहमति के नतीजे तय करने के लिए किया जा सकता है.
GoogleAuth.disconnect() google.accounts.id.revoke पुराने को नया बनाएं. निरस्तीकरण https://myaccount.google.com/permissions से भी हो सकता है
GoogleAuth.grantOfflineAccess() हटाएं पर टैप करें. एक आईडी टोकन को OAuth2 ऐक्सेस टोकन और दायरे से बदल दिया गया है.
GoogleAuth.isSignedIn.get() हटाएं पर टैप करें. उपयोगकर्ता की Google पर मौजूदा साइन इन स्थिति उपलब्ध नहीं है. सहमति और साइन-इन के लिए, उपयोगकर्ताओं को Google में साइन इन करना होगा.
GoogleAuth.isSignedIn.listen() हटाएं पर टैप करें. उपयोगकर्ता की Google पर मौजूदा साइन इन स्थिति उपलब्ध नहीं है. सहमति और साइन-इन के लिए, उपयोगकर्ताओं को Google में साइन इन करना होगा.
GoogleAuth.signIn() हटाएं पर टैप करें. g_id_signin एलिमेंट का एचटीएमएल डीओएम लोड होने या Google.accounts.id.enderButton पर JS कॉल, Google खाते में साइन इन को ट्रिगर करता है.
GoogleAuth.signOut() हटाएं पर टैप करें. आपके ऐप्लिकेशन और Google खाते के लिए उपयोगकर्ता साइन-इन की स्थिति स्वतंत्र हैं. Google, आपके ऐप्लिकेशन के सेशन की स्थिति को मैनेज नहीं करता.
GoogleAuth.then() हटाएं पर टैप करें. GoogleAuth का समर्थन नहीं है.
Google User ऑब्जेक्ट और उससे जुड़े तरीके:
GoogleUser.disconnect() google.accounts.id.revoke पुराने को नया बनाएं. निरस्तीकरण https://myaccount.google.com/permissions से भी हो सकता है
GoogleUser.getAuthResponse()
GoogleUser.getबुनियादीप्रोफ़ाइल() क्रेडेंशियल रिस्पॉन्स सीधे BasicProfile तरीकों के बजाय credential और सब-फ़ील्ड का इस्तेमाल करें.
GoogleUser.getGrantedScopes() हटाएं पर टैप करें. एक आईडी टोकन को OAuth2 ऐक्सेस टोकन और दायरे से बदल दिया गया है.
GoogleUser.getHostedDomain() क्रेडेंशियल रिस्पॉन्स इसके बजाय, सीधे credential.hd का इस्तेमाल करें.
GoogleUser.getId() क्रेडेंशियल रिस्पॉन्स इसके बजाय, सीधे credential.sub का इस्तेमाल करें.
GoogleUser.grantOfflineAccess() हटाएं पर टैप करें. एक आईडी टोकन को OAuth2 ऐक्सेस टोकन और दायरे से बदल दिया गया है.
GoogleUser.grant() हटाएं पर टैप करें. एक आईडी टोकन को OAuth2 ऐक्सेस टोकन और दायरे से बदल दिया गया है.
GoogleUser.hasGrantedScopes() हटाएं पर टैप करें. एक आईडी टोकन को OAuth2 ऐक्सेस टोकन और दायरे से बदल दिया गया है.
GoogleUser.isSignedIn() हटाएं पर टैप करें. उपयोगकर्ता की Google पर मौजूदा साइन इन स्थिति उपलब्ध नहीं है. सहमति और साइन-इन के लिए, उपयोगकर्ताओं को Google में साइन इन करना होगा.
GoogleUser.reloadAuthResponse() हटाएं पर टैप करें. एक आईडी टोकन को OAuth2 ऐक्सेस टोकन और दायरे से बदल दिया गया है.
gapi.auth2 ऑब्जेक्ट और उससे जुड़े तरीके:
gapi.auth2.AuthorConfig ऑब्जेक्ट हटाएं पर टैप करें. एक आईडी टोकन को OAuth2 ऐक्सेस टोकन और दायरे से बदल दिया गया है.
gapi.auth2.Authorization ऑब्जेक्ट हटाएं पर टैप करें. एक आईडी टोकन को OAuth2 ऐक्सेस टोकन और दायरे से बदल दिया गया है.
gapi.auth2.AuthResponse ऑब्जेक्ट हटाएं पर टैप करें. एक आईडी टोकन को OAuth2 ऐक्सेस टोकन और दायरे से बदल दिया गया है.
gapi.auth2.AUTHOR() हटाएं पर टैप करें. एक आईडी टोकन को OAuth2 ऐक्सेस टोकन और दायरे से बदल दिया गया है.
gapi.auth2.ClientConfig() हटाएं पर टैप करें. एक आईडी टोकन को OAuth2 ऐक्सेस टोकन और दायरे से बदल दिया गया है.
gapi.auth2.getAuthInstance() हटाएं पर टैप करें. एक आईडी टोकन को OAuth2 ऐक्सेस टोकन और दायरे से बदल दिया गया है.
gapi.auth2.init() हटाएं पर टैप करें. एक आईडी टोकन को OAuth2 ऐक्सेस टोकन और दायरे से बदल दिया गया है.
gapi.auth2.OfflineAccessOptions ऑब्जेक्ट हटाएं पर टैप करें. एक आईडी टोकन को OAuth2 ऐक्सेस टोकन और दायरे से बदल दिया गया है.
gapi.auth2.SignInOptions ऑब्जेक्ट हटाएं पर टैप करें. एक आईडी टोकन को OAuth2 ऐक्सेस टोकन और दायरे से बदल दिया गया है.
gapi.signin2 ऑब्जेक्ट और उससे जुड़े तरीके:
gapi.signin2.ender() हटाएं पर टैप करें. g_id_signin एलिमेंट का एचटीएमएल डीओएम लोड होने या Google.accounts.id.enderButton पर JS कॉल, Google खाते में साइन इन को ट्रिगर करता है.