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

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

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

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

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

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

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

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

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

क्या बदलाव हुए हैं

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

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

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

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

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

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

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

पुरानी 'Google साइन-इन' प्लैटफ़ॉर्म लाइब्रेरी: apis.google.com/js/platform.js और JavaScript के लिए Google API क्लाइंट लाइब्रेरी: gapi.client अब उपयोगकर्ता की पुष्टि करने और अनुमति देने के लिए ज़रूरी नहीं हैं. इन्हें Google Identity Services की नई 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 साइन-इन' बटन को रेंडर करें और सीधे उपयोगकर्ता के ब्राउज़र से साइन इन करने के लिए कॉलबैक का इस्तेमाल करें.

<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 आपके लॉगिन एंडपॉइंट को शुरू करता है, जैसा कि 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 से साइन इन करें' बटन का साइज़, आकार, और रंग पसंद के मुताबिक बनाने के लिए, विज़ुअल-एट्रिब्यूट का इस्तेमाल करें. साइन-इन दर को बेहतर बनाने के लिए आपके हिसाब से बनाए गए बटन के साथ One Tap पॉप-अप दिखाएं.

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

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

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

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

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

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

पिछले उदाहरण में, वेबसाइट में साइन इन करने का तरीका जोड़ने के लिए, नए एचटीएमएल एपीआई को इस्तेमाल करने का तरीका बताया गया है. इसके अलावा, आपके पास एक जैसी सुविधाओं वाले JavaScript API इस्तेमाल करने का विकल्प होता है. इसके अलावा, अपनी साइट पर एचटीएमएल और JavaScript एपीआई को मिक्स और मैच किया जा सकता है.

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

One Tap की मदद से, किसी भी पेज से साइन-इन करें

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

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

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

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

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

इनमें से किसी एक तरीके से, Google साइन किया गया JWT आईडी टोकन क्रेडेंशियल दिया जाता है:

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

दोनों स्थितियों में, इन्हें हटाकर अपने मौजूदा कॉलबैक हैंडलर को अपडेट करें:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

कुकी

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

अब उस G_ENABLED_IDPS कुकी का इस्तेमाल नहीं किया जा रहा है जिसे पहले 'Google साइन-इन' प्लैटफ़ॉर्म लाइब्रेरी ने सेट किया था.

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

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

    • HTML API के साथ data-ux_mode=redirect या data-login_uri के सेट होने पर या

    • ux_mode=redirect के साथ JavaScript API और जहां google.accounts.id.prompt() का इस्तेमाल One Tap या अपने-आप साइन-इन होने की सुविधा को दिखाने के लिए नहीं किया जाता.

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

अगर एक से ज़्यादा डोमेन या सबडोमेन मैनेज किए जा रहे हैं, तो 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 और एचटीएमएल data-callback के लिए IdConfiguration.callback पुराने को नए से बदलें.
GoogleAuth.currentUser.get() क्रेडेंशियल रिस्पॉन्स इसके बजाय, CredentialResponse का इस्तेमाल करें, अब ज़रूरी नहीं है.
GoogleAuth.currentUser.listen() हटाएं. Google पर उपयोगकर्ता की साइन इन की मौजूदा स्थिति उपलब्ध नहीं है. सहमति देने और साइन-इन से जुड़े पलों के लिए, उपयोगकर्ताओं का Google में साइन इन होना ज़रूरी है. क्रेडेंशियल रिस्पॉन्स में select_by फ़ील्ड का इस्तेमाल करके, उपयोगकर्ता की सहमति का नतीजा पता किया जा सकता है. साथ ही, साइन इन करने के लिए इस्तेमाल किए गए तरीके का भी इस्तेमाल किया जा सकता है.
GoogleAuth.disconnect() google.accounts.id.revoke पुराने को नए से बदलें. https://myaccount.google.com/permissions पर जाकर भी सहमति रद्द की जा सकती है
GoogleAuth.grantOfflineAccess() हटाएं. आईडी टोकन ने OAuth 2.0 ऐक्सेस टोकन और स्कोप की जगह ले ली है.
GoogleAuth.isSignedIn.get() हटाएं. Google पर उपयोगकर्ता की साइन इन की मौजूदा स्थिति उपलब्ध नहीं है. सहमति देने और साइन-इन से जुड़े पलों के लिए, उपयोगकर्ताओं का Google में साइन इन होना ज़रूरी है.
GoogleAuth.isSignedIn.listen() हटाएं. Google पर उपयोगकर्ता की साइन इन की मौजूदा स्थिति उपलब्ध नहीं है. सहमति देने और साइन-इन से जुड़े पलों के लिए, उपयोगकर्ताओं का Google में साइन इन होना ज़रूरी है.
GoogleAuth.signIn() हटाएं. g_id_signin एलिमेंट की एचटीएमएल DOM लोडिंग या google.accounts.id.render Button पर JS कॉल उपयोगकर्ता के Google खाते में साइन-इन को ट्रिगर करता है.
GoogleAuth.signout() हटाएं. आपके ऐप्लिकेशन और Google खाते के लिए उपयोगकर्ता की साइन इन स्थिति अलग-अलग होती है. Google आपके ऐप्लिकेशन के लिए सेशन की स्थिति मैनेज नहीं करता.
GoogleAuth.then() हटाएं. GoogleAuth के इस्तेमाल पर रोक लगा दी गई है.
GoogleUser ऑब्जेक्ट और उससे जुड़े तरीके:
GoogleUser.disconnect() google.accounts.id.revoke पुराने को नए से बदलें. https://myaccount.google.com/permissions पर जाकर भी सहमति रद्द की जा सकती है
GoogleUser.getAuthResponse()
GoogleUser.getBasicProfile() क्रेडेंशियल रिस्पॉन्स BasicProfile तरीकों के बजाय, credential और सब-फ़ील्ड का सीधे इस्तेमाल करें.
GoogleUser.getGrantedScopes() हटाएं. आईडी टोकन ने OAuth 2.0 ऐक्सेस टोकन और स्कोप की जगह ले ली है.
GoogleUser.getHostedDomain() क्रेडेंशियल रिस्पॉन्स इसके बजाय, सीधे credential.hd का इस्तेमाल करें.
GoogleUser.getId() क्रेडेंशियल रिस्पॉन्स इसके बजाय, सीधे credential.sub का इस्तेमाल करें.
GoogleUser.grantOfflineAccess() हटाएं. आईडी टोकन ने OAuth 2.0 ऐक्सेस टोकन और स्कोप की जगह ले ली है.
GoogleUser.grant() हटाएं. आईडी टोकन ने OAuth 2.0 ऐक्सेस टोकन और स्कोप की जगह ले ली है.
GoogleUser.hasGrantedScopes() हटाएं. आईडी टोकन ने OAuth 2.0 ऐक्सेस टोकन और स्कोप की जगह ले ली है.
GoogleUser.isSignedIn() हटाएं. Google पर उपयोगकर्ता की साइन इन की मौजूदा स्थिति उपलब्ध नहीं है. सहमति देने और साइन-इन से जुड़े पलों के लिए, उपयोगकर्ताओं का Google में साइन इन होना ज़रूरी है.
GoogleUser.reloadAuthResponse() हटाएं. आईडी टोकन ने OAuth 2.0 ऐक्सेस टोकन और स्कोप की जगह ले ली है.
gapi.auth2 ऑब्जेक्ट और इससे जुड़े तरीके:
gapi.auth2.AuthorizeConfig ऑब्जेक्ट हटाएं. आईडी टोकन ने OAuth 2.0 ऐक्सेस टोकन और स्कोप की जगह ले ली है.
gapi.auth2.AuthorizeResponse ऑब्जेक्ट हटाएं. आईडी टोकन ने OAuth 2.0 ऐक्सेस टोकन और स्कोप की जगह ले ली है.
gapi.auth2.AuthResponse ऑब्जेक्ट हटाएं. आईडी टोकन ने OAuth 2.0 ऐक्सेस टोकन और स्कोप की जगह ले ली है.
gapi.auth2.Authorize() हटाएं. आईडी टोकन ने OAuth 2.0 ऐक्सेस टोकन और स्कोप की जगह ले ली है.
gapi.auth2.ClientConfig() हटाएं. आईडी टोकन ने OAuth 2.0 ऐक्सेस टोकन और स्कोप की जगह ले ली है.
gapi.auth2.getAuthइंस्टेंस() हटाएं. आईडी टोकन ने OAuth 2.0 ऐक्सेस टोकन और स्कोप की जगह ले ली है.
gapi.auth2.init() हटाएं. आईडी टोकन ने OAuth 2.0 ऐक्सेस टोकन और स्कोप की जगह ले ली है.
gapi.auth2.OfflineAccessOptions ऑब्जेक्ट हटाएं. आईडी टोकन ने OAuth 2.0 ऐक्सेस टोकन और स्कोप की जगह ले ली है.
gapi.auth2.SignInOptions ऑब्जेक्ट हटाएं. आईडी टोकन ने OAuth 2.0 ऐक्सेस टोकन और स्कोप की जगह ले ली है.
gapi.signin2 ऑब्जेक्ट और उससे जुड़े तरीके:
gapi.signin2.render() हटाएं. g_id_signin एलिमेंट की एचटीएमएल DOM लोडिंग या google.accounts.id.render Button पर JS कॉल उपयोगकर्ता के Google खाते में साइन-इन को ट्रिगर करता है.