Sign in with Google JavaScript API के बारे में जानकारी

इस रेफ़रंस पेज पर, 'Google से साइन इन करें' JavaScript API के बारे में बताया गया है. इसका इस्तेमाल, वेब पेजों पर 'Google से साइन इन करें' बटन या वन टैप प्रॉम्प्ट दिखाने के लिए किया जाता है.

तरीका: google.accounts.id.initialize

google.accounts.id.initialize वाला तरीका, कॉन्फ़िगरेशन ऑब्जेक्ट के आधार पर, 'Google से साइन इन करें' क्लाइंट को शुरू करता है. इस तरीके का उदाहरण देने वाला यह कोड देखें:

google.accounts.id.initialize(IdConfiguration)

यहां दिए गए कोड के उदाहरण में, onload फ़ंक्शन के साथ google.accounts.id.initialize तरीके को लागू किया गया है:

<script>
  window.onload = function () {
    google.accounts.id.initialize({
      client_id: 'YOUR_GOOGLE_CLIENT_ID',
      callback: handleCredentialResponse
    });
    google.accounts.id.prompt();
  };
</script>

google.accounts.id.initialize मेथड, 'Google से साइन इन करें' क्लाइंट इंस्टेंस बनाता है. इसका इस्तेमाल, उसी वेब पेज के सभी मॉड्यूल में किया जा सकता है.

  • आपको google.accounts.id.initialize तरीके को सिर्फ़ एक बार कॉल करना होगा. भले ही, आपने एक ही वेब पेज पर कई मॉड्यूल (जैसे, One Tap, आपकी दिलचस्पी के हिसाब से बनाया गया बटन, रद्द करना वगैरह) इस्तेमाल किए हों.
  • अगर google.accounts.id.initialize तरीके को कई बार कॉल किया जाता है, तो सिर्फ़ आखिरी कॉल के कॉन्फ़िगरेशन को याद रखा जाता है और इस्तेमाल किया जाता है.

जब भी google.accounts.id.initialize तरीके को कॉल किया जाता है, तब कॉन्फ़िगरेशन रीसेट हो जाते हैं. साथ ही, उसी वेब पेज पर मौजूद अन्य सभी तरीके, तुरंत नए कॉन्फ़िगरेशन का इस्तेमाल करते हैं.

डेटा टाइप: IdConfiguration

यहां दी गई टेबल में, IdConfiguration डेटा टाइप के फ़ील्ड और जानकारी दी गई है:

फ़ील्ड
client_id आपके ऐप्लिकेशन का क्लाइंट आईडी
color_scheme One Tap प्रॉम्प्ट पर लागू की गई कलर स्कीम.
auto_select इससे अपने-आप चुनने की सुविधा चालू हो जाती है.
callback JavaScript फ़ंक्शन, जो आईडी टोकन मैनेज करता है. Google One Tap और 'Google से साइन इन करें' बटन popup यूएक्स मोड, इस एट्रिब्यूट का इस्तेमाल करते हैं.
login_uri आपके लॉगिन एंडपॉइंट का यूआरएल. 'Google से साइन इन करें' बटन redirect UX मोड इस एट्रिब्यूट का इस्तेमाल करता है.
native_callback पासवर्ड क्रेडेंशियल को मैनेज करने वाला JavaScript फ़ंक्शन.
cancel_on_tap_outside अगर उपयोगकर्ता प्रॉम्प्ट के बाहर क्लिक करता है, तो प्रॉम्प्ट रद्द हो जाता है.
prompt_parent_id One Tap प्रॉम्प्ट कंटेनर एलिमेंट का डीओएम आईडी
nonce आईडी टोकन के लिए रैंडम स्ट्रिंग
essential_claims Google से मिले आईडी टोकन में शामिल किए जाने वाले अतिरिक्त दावे.
context One Tap प्रॉम्प्ट में मौजूद टाइटल और शब्द
state_cookie_domain अगर आपको पैरंट डोमेन और उसके सबडोमेन में One Tap को कॉल करना है, तो इस फ़ील्ड में पैरंट डोमेन की जानकारी डालें. इससे, शेयर की गई एक ही कुकी का इस्तेमाल किया जा सकेगा.
ux_mode 'Google से साइन इन करें' बटन का उपयोगकर्ता अनुभव (UX) फ़्लो
allowed_parent_origin ऐसे ऑरिजिन जिन्हें इंटरमीडिएट iframe को एम्बेड करने की अनुमति है. अगर यह फ़ील्ड मौजूद है, तो One Tap को इंटरमीडिएट iframe मोड में चलाया जाता है.
intermediate_iframe_close_callback जब उपयोगकर्ता मैन्युअल तरीके से One Tap को बंद करते हैं, तो यह डिफ़ॉल्ट इंटरमीडिएट iframe के व्यवहार को बदल देता है.
itp_support आईटीपी ब्राउज़र पर, One Tap के अपग्रेड किए गए उपयोगकर्ता अनुभव को चालू करता है.
login_hint उपयोगकर्ता के बारे में जानकारी देकर, खाता चुनने की प्रोसेस को स्किप करें.
hd डोमेन के हिसाब से, खाता चुनने की सुविधा को सीमित करें.
use_fedcm_for_prompt ब्राउज़र को उपयोगकर्ता के साइन-इन के अनुरोधों को कंट्रोल करने और आपकी वेबसाइट और Google के बीच साइन-इन फ़्लो को मैनेज करने की अनुमति दें.
use_fedcm_for_button इस फ़ील्ड से यह तय होता है कि Chrome पर FedCM बटन उपयोगकर्ता अनुभव का इस्तेमाल किया जाना चाहिए या नहीं. यह सुविधा, डेस्कटॉप के लिए Chrome 125 और इसके बाद के वर्शन और Android के लिए Chrome 128 और इसके बाद के वर्शन पर उपलब्ध है. डिफ़ॉल्ट रूप से, false पर सेट होता है.
button_auto_select FedCM बटन फ़्लो के लिए, अपने-आप चुनने का विकल्प चालू करना है या नहीं. अगर यह सुविधा चालू है, तो Google सेशन चालू होने पर, लौटने वाले उपयोगकर्ता अपने-आप साइन इन हो जाएंगे. इसके लिए, उन्हें खाता चुनने की सुविधा का प्रॉम्प्ट नहीं दिखेगा. डिफ़ॉल्ट वैल्यू false है.

client_id

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

टाइप ज़रूरी है उदाहरण
स्ट्रिंग हां client_id: "CLIENT_ID.apps.googleusercontent.com"

color_scheme

इस फ़ील्ड में, One Tap प्रॉम्प्ट पर लागू की गई कलर स्कीम की जानकारी होती है. ज़्यादा जानकारी के लिए, यहां दी गई टेबल देखें:

टाइप ज़रूरी है उदाहरण
स्ट्रिंग ज़रूरी नहीं. यह डिफ़ॉल्ट रूप से, उपयोगकर्ताओं के सिस्टम की डिफ़ॉल्ट कलर स्कीम पर सेट होता है. color_scheme: "dark"

यहां दी गई टेबल में, उपलब्ध कलर स्कीम और उनके बारे में जानकारी दी गई है.

कलर स्कीम
default उपयोगकर्ता के सिस्टम की डिफ़ॉल्ट कलर स्कीम लागू करें. उपयोगकर्ता की पसंद के हिसाब से, स्कीम हल्की या गहरे रंग की हो सकती है.
light हल्के रंग वाली कलर स्कीम लागू करें.
dark गहरे रंग वाली कलर स्कीम लागू करना.

auto_select

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

टाइप ज़रूरी है उदाहरण
बूलियन वैकल्पिक auto_select: true

कॉलबैक

यह फ़ील्ड, JavaScript फ़ंक्शन है. यह वन टैप प्रॉम्प्ट या पॉप-अप विंडो से मिले आईडी टोकन को मैनेज करता है. अगर Google One Tap या 'Google से साइन इन करें' बटन के popup यूएक्स मोड का इस्तेमाल किया जाता है, तो यह एट्रिब्यूट ज़रूरी है. ज़्यादा जानकारी के लिए, यहां दी गई टेबल देखें:

टाइप ज़रूरी है उदाहरण
फ़ंक्शन One Tap और popup यूएक्स मोड के लिए ज़रूरी है callback: handleResponse

login_uri

यह एट्रिब्यूट, आपके लॉगिन एंडपॉइंट का यूआरआई होता है.

यह वैल्यू, OAuth 2.0 क्लाइंट के लिए अनुमति पा चुके उन रीडायरेक्ट यूआरआई में से किसी एक से पूरी तरह मैच होनी चाहिए जिन्हें आपने Google Cloud Console में कॉन्फ़िगर किया है. साथ ही, यह वैल्यू रीडायरेक्ट यूआरआई की पुष्टि करने के हमारे नियमों के मुताबिक होनी चाहिए.

अगर मौजूदा पेज आपका लॉगिन पेज है, तो इस एट्रिब्यूट को छोड़ा जा सकता है. ऐसे में, क्रेडेंशियल को डिफ़ॉल्ट रूप से इस पेज पर पोस्ट किया जाता है.

जब कोई उपयोगकर्ता 'Google से साइन इन करें' बटन पर क्लिक करता है और रीडायरेक्ट यूएक्स मोड का इस्तेमाल किया जाता है, तो आईडी टोकन क्रेडेंशियल रिस्पॉन्स आपके लॉगिन एंडपॉइंट पर पोस्ट किया जाता है.

ज़्यादा जानकारी के लिए, यहां दी गई टेबल देखें:

टाइप वैकल्पिक उदाहरण
URL यह डिफ़ॉल्ट रूप से, मौजूदा पेज के यूआरआई या आपकी तय की गई वैल्यू पर सेट होता है.
इसका इस्तेमाल सिर्फ़ तब किया जाता है, जब ux_mode: "redirect" सेट किया गया हो.
login_uri: "https://www.example.com/login"

यह ज़रूरी है कि आपका लॉगिन एंडपॉइंट, उन पोस्ट अनुरोधों को मैनेज कर सके जिनमें बॉडी में आईडी टोकन वैल्यू के साथ credential पैरामीटर शामिल हो. select_by को login_uri या data-login_uri के लिए, एचटीटीपी POST अनुरोधों में शामिल नहीं किया जाता है. इसे सिर्फ़ JavaScript callback फ़ंक्शन को पास किए गए CredentialResponse ऑब्जेक्ट में दिखाया जाता है.

native_callback

यह फ़ील्ड, उस JavaScript फ़ंक्शन का नाम है जो ब्राउज़र में पहले से मौजूद Credential Manager से मिले पासवर्ड क्रेडेंशियल को मैनेज करता है. ज़्यादा जानकारी के लिए, यहां दी गई टेबल देखें:

टाइप ज़रूरी है उदाहरण
फ़ंक्शन वैकल्पिक native_callback: handleResponse

cancel_on_tap_outside

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

टाइप ज़रूरी है उदाहरण
बूलियन वैकल्पिक cancel_on_tap_outside: false

prompt_parent_id

यह एट्रिब्यूट, कंटेनर एलिमेंट का डीओएम आईडी सेट करता है. अगर इसे सेट नहीं किया जाता है, तो One Tap प्रॉम्प्ट, विंडो के सबसे ऊपर दाएं कोने में दिखता है. ज़्यादा जानकारी के लिए, यहां दी गई टेबल देखें:

टाइप ज़रूरी है उदाहरण
स्ट्रिंग वैकल्पिक prompt_parent_id: 'parent_id'

नॉन्स

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

टाइप ज़रूरी है उदाहरण
स्ट्रिंग वैकल्पिक nonce: "biaqbm70g23"

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

essential_claims

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

ज़्यादा जानकारी के लिए, यहां दी गई टेबल देखें:

टाइप ज़रूरी है उदाहरण
स्ट्रिंग वैकल्पिक essential_claims: "auth_time, amr"

कॉन्टेक्स्ट

इस फ़ील्ड से, One Tap प्रॉम्प्ट में दिखने वाले टाइटल और मैसेज के टेक्स्ट में बदलाव होता है. हालांकि, आईटीपी ब्राउज़र पर इसका कोई असर नहीं पड़ता. डिफ़ॉल्ट रूप से, यह signin पर सेट होता है.

ज़्यादा जानकारी के लिए, यहां दी गई टेबल देखें:

टाइप ज़रूरी है उदाहरण
स्ट्रिंग वैकल्पिक context: "use"

यहां दी गई टेबल में, उपलब्ध सभी कॉन्टेक्स्ट और उनके ब्यौरे दिए गए हैं:

कॉन्टेक्स्ट
signin "इसमें साइन इन करें"
signup "साइन अप करें"
use "इस्तेमाल करें"

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

टाइप ज़रूरी है उदाहरण
स्ट्रिंग वैकल्पिक state_cookie_domain: "example.com"

ux_mode

इस फ़ील्ड का इस्तेमाल करके, 'Google से साइन इन करें' बटन के लिए इस्तेमाल किए जाने वाले यूएक्स फ़्लो को सेट करें. डिफ़ॉल्ट वैल्यू popup होती है. इस एट्रिब्यूट का OneTap यूएक्स पर कोई असर नहीं पड़ता. ज़्यादा जानकारी के लिए, यहां दी गई टेबल देखें:

टाइप ज़रूरी है उदाहरण
स्ट्रिंग वैकल्पिक ux_mode: "redirect"

यहां दी गई टेबल में, उपलब्ध यूएक्स मोड और उनके बारे में जानकारी दी गई है.

UX मोड
popup पॉप-अप विंडो में साइन-इन यूएक्स फ़्लो को पूरा करता है.
redirect पूरे पेज को रीडायरेक्ट करके, साइन-इन यूएक्स फ़्लो को पूरा करता है.

allowed_parent_origin

ऐसे ऑरिजिन जिन्हें इंटरमीडिएट iframe को एम्बेड करने की अनुमति है. अगर यह फ़ील्ड मौजूद है, तो One Tap, इंटरमीडिएट iframe मोड में चलता है. ज़्यादा जानकारी के लिए, यहां दी गई टेबल देखें:

टाइप ज़रूरी है उदाहरण
स्ट्रिंग या स्ट्रिंग अरे वैकल्पिक allowed_parent_origin: "https://example.com"

यहां दी गई टेबल में, इस्तेमाल की जा सकने वाली वैल्यू टाइप और उनके ब्यौरे दिए गए हैं.

वैल्यू टाइप
string एक डोमेन यूआरआई. "https://example.com"
string array डोमेन यूआरआई का कलेक्शन. ["https://news.example.com", "https://local.example.com"]

वाइल्डकार्ड प्रीफ़िक्स भी इस्तेमाल किए जा सकते हैं. उदाहरण के लिए, "https://*.example.com", example.com और उसके सभी लेवल के सबडोमेन से मैच करता है.जैसे, news.example.com, login.news.example.com. वाइल्डकार्ड का इस्तेमाल करते समय इन बातों का ध्यान रखें:

  • पैटर्न स्ट्रिंग में सिर्फ़ वाइल्डकार्ड और टॉप लेवल डोमेन नहीं हो सकता. उदाहरण के लिए, https://.com और https://.co.uk अमान्य हैं, क्योंकि "https://.example.com", example.com और इसके सभी सबडोमेन से मैच करता है. दो अलग-अलग डोमेन दिखाने के लिए, कॉमा लगाकर अलग की गई सूची का इस्तेमाल करें. उदाहरण के लिए, "https://example1.com,https://.example2.com", example1.com, example2.com डोमेन और example2.com के सबडोमेन से मेल खाता है
  • वाइल्डकार्ड डोमेन, सुरक्षित https:// स्कीम से शुरू होने चाहिए. इसलिए, "*.example.com" को अमान्य माना जाता है.

अगर allowed_parent_origin फ़ील्ड की वैल्यू अमान्य है, तो इंटरमीडिएट iframe मोड का वन टैप शुरू नहीं हो पाएगा और रुक जाएगा.

intermediate_iframe_close_callback

जब उपयोगकर्ता One Tap के यूज़र इंटरफ़ेस (यूआई) में 'X' बटन पर टैप करके, One Tap को मैन्युअल तरीके से बंद करते हैं, तब यह इंटरमीडिएट iframe के डिफ़ॉल्ट व्यवहार को बदल देता है. डिफ़ॉल्ट रूप से, इंटरमीडिएट iframe को डीओएम से तुरंत हटा दिया जाता है.

intermediate_iframe_close_callback फ़ील्ड सिर्फ़ इंटरमीडिएट iframe मोड में लागू होता है. इसका असर सिर्फ़ इंटरमीडिएट iframe पर पड़ता है, न कि One Tap iframe पर. कॉलबैक को शुरू करने से पहले, One Tap यूज़र इंटरफ़ेस (यूआई) को हटा दिया जाता है.

टाइप ज़रूरी है उदाहरण
फ़ंक्शन वैकल्पिक intermediate_iframe_close_callback: logBeforeClose

itp_support

इस फ़ील्ड से यह तय होता है कि इंटेलिजेंट ट्रैकिंग प्रिवेंशन (आईटीपी) की सुविधा के साथ काम करने वाले ब्राउज़र पर, अपग्रेड किया गया One Tap यूएक्स चालू किया जाना चाहिए या नहीं. डिफ़ॉल्ट वैल्यू false है. ज़्यादा जानकारी के लिए, नीचे दी गई टेबल देखें:

टाइप ज़रूरी है उदाहरण
बूलियन वैकल्पिक itp_support: false

login_hint

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

ज़्यादा जानकारी के लिए, OpenID Connect के दस्तावेज़ में login_hint फ़ील्ड देखें.

टाइप ज़रूरी है उदाहरण
स्ट्रिंग, ईमेल पता या आईडी टोकन sub फ़ील्ड की वैल्यू. वैकल्पिक login_hint: 'elisa.beckett@gmail.com'

hd

अगर किसी उपयोगकर्ता के पास एक से ज़्यादा खाते हैं और उसे सिर्फ़ अपने Workspace खाते से साइन-इन करना है, तो Google को डोमेन नेम का हिंट देने के लिए इसका इस्तेमाल करें. ऐसा होने पर, खाता चुनते समय दिखने वाले उपयोगकर्ता खाते, दिए गए डोमेन तक ही सीमित होते हैं. वाइल्डकार्ड वैल्यू: *, उपयोगकर्ता को सिर्फ़ Workspace खाते उपलब्ध कराती है. साथ ही, खाता चुनते समय उपभोक्ता खातों (user@gmail.com) को शामिल नहीं करती.

ज़्यादा जानकारी के लिए, OpenID Connect के दस्तावेज़ में hd फ़ील्ड देखें.

टाइप ज़रूरी है उदाहरण
स्ट्रिंग. पूरी तरह क्वालिफ़ाइड डोमेन नेम या *. वैकल्पिक hd: '*'

use_fedcm_for_prompt

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

टाइप ज़रूरी है उदाहरण
बूलियन बहिष्कृत use_fedcm_for_prompt: true

use_fedcm_for_button

इस फ़ील्ड से यह तय होता है कि Chrome (डेस्कटॉप M125 और इसके बाद के वर्शन और Android M128 और इसके बाद के वर्शन) पर, FedCM बटन उपयोगकर्ता अनुभव का इस्तेमाल किया जाना चाहिए या नहीं. डिफ़ॉल्ट रूप से, false पर सेट होता है. ज़्यादा जानकारी के लिए, नीचे दी गई टेबल देखें:

टाइप ज़रूरी है उदाहरण
बूलियन वैकल्पिक use_fedcm_for_button: true

button_auto_select

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

टाइप ज़रूरी है उदाहरण
बूलियन वैकल्पिक button_auto_select: true

तरीका: google.accounts.id.prompt

google.accounts.id.prompt मेथड, initialize() मेथड को शुरू करने के बाद, One Tap प्रॉम्प्ट या ब्राउज़र में पहले से मौजूद क्रेडेंशियल मैनेजर को दिखाता है. इस तरीके के लिए, यहां दिया गया कोड देखें:

 google.accounts.id.prompt(/**
 @type{(function(!PromptMomentNotification):void)=} */ momentListener)

आम तौर पर, पेज लोड होने पर prompt() मेथड को कॉल किया जाता है. सेशन की स्थिति और Google की ओर से उपयोगकर्ता की सेटिंग की वजह से, हो सकता है कि One Tap प्रॉम्प्ट का यूज़र इंटरफ़ेस (यूआई) न दिखे. अलग-अलग स्थितियों में यूज़र इंटरफ़ेस (यूआई) की स्थिति के बारे में सूचना पाने के लिए, यूज़र इंटरफ़ेस (यूआई) की स्थिति की सूचनाएं पाने के लिए कोई फ़ंक्शन पास करें.

सूचनाएं इन मौकों पर भेजी जाती हैं:

  • विज्ञापन दिखाने का समय: यह prompt() तरीके को कॉल करने के बाद होता है. सूचना में एक बूलियन वैल्यू होती है, जिससे पता चलता है कि यूज़र इंटरफ़ेस (यूआई) दिख रहा है या नहीं.
  • स्किप किया गया मोमेंट: ऐसा तब होता है, जब One Tap प्रॉम्प्ट को अपने-आप या मैन्युअल तरीके से रद्द कर दिया जाता है. इसके अलावा, ऐसा तब भी होता है, जब Google क्रेडेंशियल जारी नहीं कर पाता. जैसे, जब चुने गए सेशन में Google से साइन आउट कर दिया गया हो.

    ऐसे मामलों में, हमारा सुझाव है कि आप पहचान की पुष्टि करने वाली अन्य सेवा देने वाली कंपनियों का इस्तेमाल करें.

  • खारिज किया गया: ऐसा तब होता है, जब Google क्रेडेंशियल को वापस पा लेता है या कोई उपयोगकर्ता क्रेडेंशियल वापस पाने की प्रोसेस को रोकना चाहता है. उदाहरण के लिए, जब उपयोगकर्ता आपके लॉगिन डायलॉग में अपना उपयोगकर्ता नाम और पासवर्ड डालना शुरू करता है, तो वन टैप प्रॉम्प्ट को बंद करने और खारिज किए गए पल को ट्रिगर करने के लिए, google.accounts.id.cancel() तरीके को कॉल किया जा सकता है.

यहां दिए गए कोड के उदाहरण में, स्किप किए गए पल को लागू किया गया है:

<script>
  window.onload = function () {
    google.accounts.id.initialize(...);
    google.accounts.id.prompt((notification) => {
      if (notification.isNotDisplayed() || notification.isSkippedMoment()) {
        // continue with another identity provider.
      }
    });
  };
</script>

डेटा टाइप: PromptMomentNotification

यहां दी गई टेबल में, PromptMomentNotification डेटा टाइप के तरीकों और ब्यौरे की सूची दी गई है:

तरीका
isDisplayMoment() अगर One Tap प्रॉम्प्ट दिखता है, तो true दिखाता है.

ध्यान दें: FedCM चालू होने पर, यह सूचना नहीं दिखती. ज़्यादा जानकारी के लिए, FedCM पर माइग्रेट करें पेज देखें.
isDisplayed() अगर मोमेंट टाइप PromptMoment.DISPLAY है और One Tap प्रॉम्प्ट दिखता है, तो true दिखाता है.

ध्यान दें: FedCM चालू होने पर, यह सूचना नहीं दिखती. ज़्यादा जानकारी के लिए, FedCM पर माइग्रेट करें पेज देखें.
isNotDisplayed() अगर मोमेंट टाइप PromptMoment.DISPLAY है और One Tap प्रॉम्प्ट नहीं दिखता है, तो true दिखाता है.

ध्यान दें: FedCM चालू होने पर, यह सूचना नहीं दिखती. ज़्यादा जानकारी के लिए, FedCM पर माइग्रेट करें पेज देखें.
getNotDisplayedReason()

यूज़र इंटरफ़ेस (यूआई) न दिखने की वजह के बारे में पूरी जानकारी. ये वैल्यू हो सकती हैं:

  • browser_not_supported
  • invalid_client
  • missing_client_id
  • opt_out_or_no_session
  • secure_http_required
  • suppressed_by_user
  • unregistered_origin
  • unknown_reason
ध्यान दें: FedCM चालू होने पर, यह सूचना नहीं दिखती. ज़्यादा जानकारी के लिए, FedCM पर माइग्रेट करें पेज देखें.
isSkippedMoment() अगर मोमेंट टाइप PromptMoment.SKIPPED

है, तो true दिखाता है ध्यान दें: FedCM चालू होने पर, यह तरीका कुछ हद तक काम करता है. खास तौर पर, इसमें user_cancel की वजह से स्किप किए गए आइटम की जानकारी नहीं दी जाती. ज़्यादा जानकारी के लिए, FedCM पर माइग्रेट करें पेज देखें.
getSkippedReason()

स्किप किए गए पल की वजह के बारे में ज़्यादा जानकारी. ये वैल्यू हो सकती हैं:

  • auto_cancel
  • user_cancel
  • tap_outside
  • issuing_failed
ध्यान दें: FedCM के चालू होने पर, यह तरीका कुछ हद तक काम करता है. खास तौर पर, इसमें user_cancel को स्किप करने की वजह नहीं बताई जा सकती. ज़्यादा जानकारी के लिए, FedCM पर माइग्रेट करें पेज देखें.
isDismissedMoment() अगर मोमेंट टाइप PromptMoment.DISMISSED है, तो true दिखाता है.

ध्यान दें: FedCM चालू होने पर, यह तरीका पूरी तरह से काम करता है. ज़्यादा जानकारी के लिए, FedCM पर माइग्रेट करें पेज देखें.
getDismissedReason()

खारिज करने की वजह के बारे में ज़्यादा जानकारी. ये वैल्यू हो सकती हैं:

  • credential_returned
  • cancel_called
  • flow_restarted
ध्यान दें: FedCM चालू होने पर, यह तरीका पूरी तरह से काम करता है. ज़्यादा जानकारी के लिए, FedCM पर माइग्रेट करें पेज देखें.
getMomentType()

मोमेंट टाइप के लिए स्ट्रिंग दिखाएं. ये वैल्यू हो सकती हैं:

  • display
  • skipped
  • dismissed

डेटा टाइप: CredentialResponse

callback फ़ंक्शन को शुरू करने पर, CredentialResponse ऑब्जेक्ट को पैरामीटर के तौर पर पास किया जाता है. यहां दी गई टेबल में, क्रेडेंशियल रिस्पॉन्स ऑब्जेक्ट में शामिल फ़ील्ड की सूची दी गई है:

फ़ील्ड
credential Google की ओर से जारी किया गया एन्कोड किया गया JWT आईडी टोकन.
select_by उपयोगकर्ता ने कैसे साइन इन किया.
state यह फ़ील्ड सिर्फ़ तब तय होता है, जब उपयोगकर्ता साइन इन करने के लिए, 'Google से साइन इन करें' बटन पर क्लिक करता है. साथ ही, बटन का state एट्रिब्यूट तय किया गया हो.

क्रेडेंशियल

यह फ़ील्ड, base64-कोड में बदले गए JSON वेब टोकन (JWT) स्ट्रिंग के तौर पर आईडी टोकन है.

डिकोड करने पर, JWT इस उदाहरण की तरह दिखता है:

header
{
  "alg": "RS256",
  "kid": "f05415b13acb9590f70df862765c655f5a7a019e", // JWT signature
  "typ": "JWT"
}
payload
{
  "iss": "https://accounts.google.com", // The JWT's issuer
  "nbf":  161803398874,
  "aud": "314159265-pi.apps.googleusercontent.com", // Your server's client ID
  "sub": "3141592653589793238", // The unique ID of the user's Google Account
  "hd": "gmail.com", // If present, the host domain of the user's Google Workspace email address
  "auth_time": 1748875426,
  "amr": ["mfa", "pwd", "tel"],
  "email": "elisa.g.beckett@gmail.com", // The user's email address
  "email_verified": true, // true, if Google has verified the email address
  "azp": "314159265-pi.apps.googleusercontent.com",
  "name": "Elisa Beckett",
                            // If present, a URL to user's profile picture
  "picture": "https://lh3.googleusercontent.com/a-/e2718281828459045235360uler",
  "given_name": "Elisa",
  "family_name": "Beckett",
  "iat": 1596474000, // Unix timestamp of the assertion creation time
  "exp": 1596477600, // Unix timestamp of the assertion expiration time
  "jti": "abc161803398874def"
}

sub फ़ील्ड, Google खाते के लिए दुनिया भर में इस्तेमाल होने वाला यूनीक आइडेंटिफ़ायर है. उपयोगकर्ता के आइडेंटिफ़ायर के तौर पर सिर्फ़ sub फ़ील्ड का इस्तेमाल करें. ऐसा इसलिए, क्योंकि यह सभी Google खातों के लिए यूनीक होता है और इसे कभी दोबारा इस्तेमाल नहीं किया जाता.

email, email_verified, और hd फ़ील्ड का इस्तेमाल करके, यह पता लगाया जा सकता है कि Google किसी ईमेल पते को होस्ट करता है और उसके पास उस ईमेल पते का मालिकाना हक है या नहीं. जिन मामलों में Google के पास अधिकार होता है उनमें यह पुष्टि की जाती है कि उपयोगकर्ता ही खाते का असली मालिक है.

ऐसे मामले जिनमें Google के पास अधिकार है:

  • email के सफ़िक्स में @gmail.com है, तो यह एक Gmail खाता है.
  • email_verified सही है और hd सेट है, तो यह Google Workspace खाता है.

उपयोगकर्ता, Gmail या Google Workspace का इस्तेमाल किए बिना भी Google खातों के लिए रजिस्टर कर सकते हैं. जब email में @gmail.com सफ़िक्स शामिल न हो और hd मौजूद न हो, तो Google के पास अधिकार नहीं होता. ऐसे में, उपयोगकर्ता की पुष्टि करने के लिए, पासवर्ड या पुष्टि करने के अन्य तरीकों का सुझाव दिया जाता है. email_verfied भी सही हो सकता है, क्योंकि Google ने Google खाता बनाते समय उपयोगकर्ता की पुष्टि की थी. हालांकि, हो सकता है कि तीसरे पक्ष के ईमेल खाते का मालिकाना हक बदल गया हो.

exp फ़ील्ड से पता चलता है कि सर्वर साइड पर टोकन की पुष्टि करने की समयसीमा कब खत्म होगी. 'Google से साइन इन करें' सुविधा से मिले आईडी टोकन के लिए, यह समयसीमा एक घंटे की होती है. आपको समयसीमा खत्म होने से पहले, टोकन की पुष्टि करनी होगी. सेशन मैनेज करने के लिए, exp का इस्तेमाल न करें. आईडी टोकन की समयसीमा खत्म होने का मतलब यह नहीं है कि उपयोगकर्ता ने साइन आउट कर दिया है. आपके ऐप्लिकेशन की ज़िम्मेदारी है कि वह उपयोगकर्ताओं के सेशन को मैनेज करे.

select_by

यहां दी गई टेबल में, select_by फ़ील्ड के लिए संभावित वैल्यू दी गई हैं. वैल्यू सेट करने के लिए, सेशन और सहमति की स्थिति के साथ इस्तेमाल किए गए बटन के टाइप का इस्तेमाल किया जाता है,

  • उपयोगकर्ता ने One Tap या 'Google से साइन इन करें' बटन दबाया हो या टचलेस अपने-आप साइन इन होने की सुविधा का इस्तेमाल किया हो.

  • कोई मौजूदा सेशन मिला या उपयोगकर्ता ने नया सेशन शुरू करने के लिए, कोई Google खाता चुना और उसमें साइन-इन किया.

  • आपके ऐप्लिकेशन के साथ आईडी टोकन क्रेडेंशियल शेयर करने से पहले, उपयोगकर्ता को इनमें से कोई एक काम करना होगा

    • क्रेडेंशियल शेयर करने की सहमति देने के लिए, 'पुष्टि करें' बटन दबाया हो या
    • पहले सहमति दी थी और Google खाता चुनने के लिए, 'कोई खाता चुनें' सुविधा का इस्तेमाल किया था.

इस फ़ील्ड की वैल्यू, इनमें से किसी एक टाइप पर सेट होती है,

वैल्यू ब्यौरा
auto किसी मौजूदा सेशन वाले उपयोगकर्ता के लिए, अपने-आप साइन इन होने की सुविधा. इस उपयोगकर्ता ने क्रेडेंशियल शेयर करने की सहमति पहले ही दे दी थी. यह सिर्फ़ उन ब्राउज़र पर लागू होता है जो FedCM के साथ काम नहीं करते.
user मौजूदा सेशन वाले किसी उपयोगकर्ता ने क्रेडेंशियल शेयर करने के लिए, One Tap के 'इस तौर पर जारी रखें' बटन को दबाया. इस उपयोगकर्ता ने पहले ही सहमति दे दी थी. यह सिर्फ़ उन ब्राउज़र पर लागू होता है जो FedCM के साथ काम नहीं करते.
fedcm उपयोगकर्ता ने FedCM का इस्तेमाल करके क्रेडेंशियल शेयर करने के लिए, One Tap के 'इस तौर पर जारी रखें' बटन को दबाया. यह सिर्फ़ उन ब्राउज़र पर लागू होता है जो FedCM के साथ काम करते हैं.
fedcm_auto किसी मौजूदा सेशन वाले उपयोगकर्ता का अपने-आप साइन इन होने की सुविधा. इस उपयोगकर्ता ने पहले ही FedCM One Tap का इस्तेमाल करके, क्रेडेंशियल शेयर करने की सहमति दी थी. यह सिर्फ़ उन ब्राउज़र पर लागू होता है जिनमें FedCM इस्तेमाल किया जा सकता है.
user_1tap मौजूदा सेशन वाले किसी उपयोगकर्ता ने सहमति देने और क्रेडेंशियल शेयर करने के लिए, One Tap के 'इस तौर पर जारी रखें' बटन को दबाया. यह सिर्फ़ Chrome के वर्शन 75 और इसके बाद के वर्शन पर लागू होता है.
user_2tap किसी ऐसे उपयोगकर्ता ने One Tap के 'इस तौर पर जारी रखें' बटन को दबाया जिसका कोई मौजूदा सेशन नहीं है. इसके बाद, उसने खाता चुनने के लिए, पॉप-अप विंडो में 'पुष्टि करें' बटन को दबाया, ताकि सहमति दी जा सके और क्रेडेंशियल शेयर किए जा सकें. यह Chromium पर आधारित नहीं होने वाले ब्राउज़र पर लागू होता है.
itp पहले सहमति दे चुके किसी उपयोगकर्ता ने ITP ब्राउज़र पर वन टैप को दबाया.
itp_confirm सहमति न देने वाले किसी उपयोगकर्ता ने ITP ब्राउज़र पर वन टैप बटन दबाया और सहमति देने और क्रेडेंशियल शेयर करने के लिए, 'जारी रखें' बटन दबाया.
btn जिस उपयोगकर्ता ने पहले ही सहमति दे दी थी उसने 'Google से साइन इन करें' बटन दबाया और क्रेडेंशियल शेयर करने के लिए, 'कोई खाता चुनें' से Google खाता चुना.
btn_confirm सहमति न देने वाले उपयोगकर्ता ने 'Google से साइन इन करें' बटन दबाया. इसके बाद, सहमति देने और क्रेडेंशियल शेयर करने के लिए, 'जारी रखें' बटन दबाया.

राज्य

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

एक ही पेज पर, 'Google से साइन इन करें' सुविधा के कई बटन रेंडर किए जा सकते हैं. इसलिए, हर बटन को एक यूनीक स्ट्रिंग असाइन की जा सकती है. इसलिए, इस state फ़ील्ड का इस्तेमाल करके यह पता लगाया जा सकता है कि उपयोगकर्ता ने साइन इन करने के लिए किस बटन पर क्लिक किया.

तरीका: google.accounts.id.renderButton

google.accounts.id.renderButton मेथड, आपके वेब पेजों पर 'Google से साइन इन करें' बटन रेंडर करता है.

इस तरीके के लिए, यहां दिया गया कोड देखें:

google.accounts.id.renderButton(
      /** @type{!HTMLElement} */ parent,
      /** @type{!GsiButtonConfiguration} */ options
    )

डेटा टाइप: GsiButtonConfiguration

यहां दी गई टेबल में, GsiButtonConfiguration डेटा टाइप के फ़ील्ड और जानकारी दी गई है:

एट्रिब्यूट
type बटन का टाइप: आइकॉन या स्टैंडर्ड बटन.
theme बटन की थीम. उदाहरण के लिए, filled_blue या filled_black.
size बटन का साइज़. उदाहरण के लिए, छोटा या बड़ा.
text बटन का टेक्स्ट. उदाहरण के लिए, "Google से साइन इन करें" या "Google से साइन अप करें".
shape बटन का आकार. उदाहरण के लिए, रेक्टैंगल या सर्कल.
logo_alignment Google के लोगो का अलाइनमेंट: बाईं ओर या बीच में.
width पिक्सल में बटन की चौड़ाई.
locale अगर इसे सेट किया जाता है, तो बटन की भाषा रेंडर हो जाती है.
click_listener अगर यह फ़ंक्शन सेट है, तो 'Google से साइन इन करें' बटन पर क्लिक करने पर, इसे कॉल किया जाता है.
state अगर यह स्ट्रिंग सेट की जाती है, तो यह आईडी टोकन के साथ दिखती है.

एट्रिब्यूट टाइप

यहां दिए गए सेक्शन में, हर तरह के एट्रिब्यूट के बारे में जानकारी और एक उदाहरण दिया गया है.

टाइप

बटन का टाइप. डिफ़ॉल्ट वैल्यूstandard है

ज़्यादा जानकारी के लिए, यहां दी गई टेबल देखें:

टाइप ज़रूरी है उदाहरण
स्ट्रिंग हां type: "icon"

यहां दी गई टेबल में, उपलब्ध बटन टाइप और उनके ब्यौरे दिए गए हैं:

टाइप
standard
टेक्स्ट या मनमुताबिक जानकारी वाला बटन.
icon
बिना टेक्स्ट वाला आइकॉन बटन.

थीम

बटन की थीम. डिफ़ॉल्ट वैल्यूoutline है ज़्यादा जानकारी के लिए, नीचे दी गई टेबल देखें:

टाइप ज़रूरी है उदाहरण
स्ट्रिंग वैकल्पिक theme: "filled_blue"

यहां दी गई टेबल में, उपलब्ध थीम और उनके बारे में जानकारी दी गई है:

थीम सैंपल विशेषताएं
outline
standard-button-white icon-button-white personalized-button-white
स्टैंडर्ड बटन थीम.
Fill: #FFFFFF
Stroke: #747775 | 1px | inside
Font: #1F1F1F | Roboto Medium | 14/20
Personalized: #1F1F1F | Roboto | Medium 12/14 | Regular 11/13
filled_blue
नीले रंग के बटन वाली थीम.
Fill: #0B57D0
Stroke: #OB57D0 | 1px | inside
Font: #FFFFFF | Google Sans Medium | 14/20
Personalized: #FFFFFF | Roboto | Medium 12/14 | Regular 11/13
filled_black
काले रंग के बटन वाली थीम, जिसमें लोगो का रंग अलग है.
फ़िल: #202124
स्ट्रोक: #OB57D0 | 1px | अंदर
फ़ॉन्ट: #FFFFFF | Google Sans Medium | 14/20
पसंद के मुताबिक: #FFFFFF | Roboto | Medium 12/14 | Regular 11/13
outline_dark
काले रंग से भरे बटन की थीम.
Fill: #131314
Stroke: #8E918F | 1px | inside
Font: #FFFFFF | Google Sans Medium | 14/20
Personalized: #FFFFFF | Roboto | Medium 12/14 | Regular 11/13

साइज़

बटन का साइज़. डिफ़ॉल्ट वैल्यूlarge है ज़्यादा जानकारी के लिए, नीचे दी गई टेबल देखें:

टाइप ज़रूरी है उदाहरण
स्ट्रिंग वैकल्पिक size: "small"

यहां दी गई टेबल में, बटन के उपलब्ध साइज़ और उनके बारे में जानकारी दी गई है:

साइज़
large
बड़ा स्टैंडर्ड बटन एक बड़ा आइकॉन बटन एक बड़ा और पसंद के मुताबिक बनाया गया बटन
बड़े साइज़ का बटन.
medium
मीडियम स्टैंडर्ड बटन मीडियम आइकॉन बटन
मीडियम साइज़ का बटन.
small
साइन-इन करने का छोटा बटन साइन-इन करने का छोटा बटन
छोटे साइज़ का बटन.

टेक्स्ट

बटन का टेक्स्ट. डिफ़ॉल्ट वैल्यूsignin_with है अलग-अलग text एट्रिब्यूट वाले आइकॉन बटन के टेक्स्ट में, विज़ुअल के तौर पर कोई अंतर नहीं होता. हालांकि, स्क्रीन की सुलभता के लिए टेक्स्ट को पढ़ने के दौरान ऐसा नहीं होता.

ज़्यादा जानकारी के लिए, यहां दी गई टेबल देखें:

टाइप ज़रूरी है उदाहरण
स्ट्रिंग वैकल्पिक text: "signup_with"

यहां दी गई टेबल में, बटन के लिए उपलब्ध सभी टेक्स्ट और उनकी जानकारी दी गई है:

टेक्स्ट
signin_with
बटन का टेक्स्ट "Google से साइन इन करें" है.
signup_with
बटन पर "Google से साइन अप करें" टेक्स्ट लिखा है.
continue_with
बटन पर "Google के साथ जारी रखें" टेक्स्ट लिखा है.
signin
बटन पर "साइन इन करें" टेक्स्ट मौजूद है.

आकार

बटन का आकार. डिफ़ॉल्ट वैल्यूrectangular है ज़्यादा जानकारी के लिए, नीचे दी गई टेबल देखें:

टाइप ज़रूरी है उदाहरण
स्ट्रिंग वैकल्पिक shape: "rectangular"

यहां दी गई टेबल में, बटन के उपलब्ध शेप और उनके बारे में जानकारी दी गई है:

आकार
rectangular
रेक्टैंगल के आकार वाला बटन. अगर इसका इस्तेमाल icon बटन टाइप के लिए किया जाता है, तो यह square जैसा ही होता है.
pill
कैप्सूल के आकार का बटन. अगर इसका इस्तेमाल icon बटन टाइप के लिए किया जाता है, तो यह circle जैसा ही होता है.
circle
सर्कल के आकार वाला बटन. अगर इसका इस्तेमाल standard बटन टाइप के लिए किया जाता है, तो यह pill जैसा ही होता है.
square
स्क्वेयर आइकॉन वाला बटन. अगर इसका इस्तेमाल standard बटन टाइप के लिए किया जाता है, तो यह rectangular जैसा ही होता है.

logo_alignment

Google के लोगो का अलाइनमेंट. डिफ़ॉल्ट वैल्यूleft है यह एट्रिब्यूट सिर्फ़ standard बटन टाइप पर लागू होता है. ज़्यादा जानकारी के लिए, नीचे दी गई टेबल देखें:

टाइप ज़रूरी है उदाहरण
स्ट्रिंग वैकल्पिक logo_alignment: "center"

यहां दी गई टेबल में, उपलब्ध अलाइनमेंट और उनके ब्यौरे दिए गए हैं:

logo_alignment
left
Google के लोगो को बाईं ओर अलाइन करता है.
center
Google के लोगो को बीच में अलाइन करता है.

चौड़ाई

पिक्सल में, बटन की कम से कम चौड़ाई. ज़्यादा से ज़्यादा चौड़ाई 400 पिक्सल होनी चाहिए.

ज़्यादा जानकारी के लिए, यहां दी गई टेबल देखें:

टाइप ज़रूरी है उदाहरण
स्ट्रिंग वैकल्पिक width: "400"

locale

ज़रूरी नहीं. बटन का टेक्स्ट, तय की गई स्थान-भाषा के हिसाब से दिखाएं. ऐसा न होने पर, उपयोगकर्ता के Google खाते या ब्राउज़र सेटिंग के हिसाब से डिफ़ॉल्ट रूप से दिखाएं. लाइब्रेरी लोड करते समय, src डायरेक्टिव में hl पैरामीटर और भाषा कोड जोड़ें. उदाहरण के लिए: gsi/client?hl=<iso-639-code>.

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

ज़्यादा जानकारी के लिए, यहां दी गई टेबल देखें:

टाइप ज़रूरी है उदाहरण
स्ट्रिंग वैकल्पिक locale: "zh_CN"

click_listener

click_listener एट्रिब्यूट का इस्तेमाल करके, JavaScript फ़ंक्शन को तय किया जा सकता है. इससे, 'Google से साइन इन करें' बटन पर क्लिक करने पर, यह फ़ंक्शन कॉल किया जाएगा.

  google.accounts.id.renderButton(document.getElementById("signinDiv"), {
      theme: 'outline',
      size: 'large',
      click_listener: onClickHandler
    });

  
  function onClickHandler(){
    console.log("Sign in with Google button clicked...")
  }
  

इस उदाहरण में, 'Google से साइन इन करें' बटन पर क्लिक करने पर, कंसोल में 'Google से साइन इन करें' बटन पर क्लिक किया गया... मैसेज लॉग किया जाता है.

राज्य

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

ज़्यादा जानकारी के लिए, यहां दी गई टेबल देखें:

टाइप ज़रूरी है उदाहरण
स्ट्रिंग वैकल्पिक data-state: "button 1"

डेटा टाइप: क्रेडेंशियल

जब आपके native_callback फ़ंक्शन को शुरू किया जाता है, तो Credential ऑब्जेक्ट को पैरामीटर के तौर पर पास किया जाता है. इस टेबल में, ऑब्जेक्ट में मौजूद फ़ील्ड की सूची दी गई है:

फ़ील्ड
id उपयोगकर्ता की पहचान करता है.
password पासवर्ड

तरीका: google.accounts.id.disableAutoSelect

जब उपयोगकर्ता आपकी वेबसाइट से साइन आउट करता है, तो आपको कुकी में स्थिति रिकॉर्ड करने के लिए, google.accounts.id.disableAutoSelect तरीके को कॉल करना होगा. इससे यूएक्स डेड लूप से बचा जा सकता है. इस तरीके का यह कोड स्निपेट देखें:

google.accounts.id.disableAutoSelect()

यहां दिए गए कोड के उदाहरण में, onSignout() फ़ंक्शन के साथ google.accounts.id.disableAutoSelect तरीके को लागू किया गया है:

<script>
  function onSignout() {
    google.accounts.id.disableAutoSelect();
  }
</script>

तरीका: google.accounts.id.storeCredential

यह तरीका, ब्राउज़र में पहले से मौजूद क्रेडेंशियल मैनेजर एपीआई के store() तरीके के लिए एक रैपर है. इसलिए, इसका इस्तेमाल सिर्फ़ पासवर्ड क्रेडेंशियल को सेव करने के लिए किया जा सकता है. इस तरीके के लिए, यहां दिया गया कोड देखें:

google.accounts.id.storeCredential(Credential, callback)

यहां दिए गए कोड के उदाहरण में, onSignIn() फ़ंक्शन के साथ google.accounts.id.storeCredential तरीके को लागू किया गया है:

<script>
  function onSignIn() {
    let cred = {id: '...', password: '...'};
    google.accounts.id.storeCredential(cred);
  }
</script>

तरीका: google.accounts.id.cancel

अगर भरोसा करने वाली पार्टी के डीओएम से प्रॉम्प्ट को हटा दिया जाता है, तो One Tap फ़्लो को रद्द किया जा सकता है. अगर क्रेडेंशियल पहले से चुना गया है, तो रद्द करने की कार्रवाई को अनदेखा कर दिया जाता है. इस तरीके के लिए, यहां दिया गया कोड देखें:

google.accounts.id.cancel()

यहां दिए गए कोड के उदाहरण में, onNextButtonClicked() फ़ंक्शन के साथ google.accounts.id.cancel() तरीके को लागू किया गया है:

<script>
  function onNextButtonClicked() {
    google.accounts.id.cancel();
    showPasswordPage();
  }
</script>

लाइब्रेरी लोड कॉलबैक: onGoogleLibraryLoad

onGoogleLibraryLoad कॉलबैक रजिस्टर किया जा सकता है. 'Google से साइन इन करें' सुविधा की JavaScript लाइब्रेरी लोड होने के बाद, इसकी सूचना दी जाती है:

window.onGoogleLibraryLoad = () => {
    ...
};

यह कॉलबैक, window.onload कॉलबैक का शॉर्टकट है. दोनों तरह के दर्शकों के व्यवहार में कोई अंतर नहीं है.

यहां दिए गए कोड के उदाहरण में, onGoogleLibraryLoad कॉलबैक को लागू किया गया है:

<script>
  window.onGoogleLibraryLoad = () => {
   google.accounts.id.initialize({
     ...
   });
   google.accounts.id.prompt();
  };
</script>

तरीका: google.accounts.id.revoke

google.accounts.id.revoke मेथड, OAuth के इस्तेमाल की अनुमति को वापस ले लेता है. इस अनुमति का इस्तेमाल, किसी उपयोगकर्ता के लिए आईडी टोकन शेयर करने के लिए किया जाता है. इस तरीके का यह कोड स्निपेट देखें: javascript google.accounts.id.revoke(login_hint, callback)

पैरामीटर टाइप ब्यौरा
login_hint स्ट्रिंग उपयोगकर्ता के Google खाते का ईमेल पता या यूनीक आईडी. आईडी, क्रेडेंशियल पेलोड की sub प्रॉपर्टी है.
callback फ़ंक्शन ज़रूरी नहीं RevocationResponse हैंडलर.

यहां दिए गए कोड सैंपल में, आईडी के साथ revoke तरीके का इस्तेमाल करने का तरीका बताया गया है.

  google.accounts.id.revoke('1618033988749895', done => {
    console.log(done.error);
  });

डेटा टाइप: RevocationResponse

callback फ़ंक्शन को शुरू करने पर, RevocationResponse ऑब्जेक्ट को पैरामीटर के तौर पर पास किया जाता है. यहां दी गई टेबल में, उन फ़ील्ड की सूची दी गई है जो रद्द करने के रिस्पॉन्स ऑब्जेक्ट में शामिल होते हैं:

फ़ील्ड
successful यह फ़ील्ड, मेथड कॉल की रिटर्न वैल्यू है.
error इस फ़ील्ड में, गड़बड़ी के बारे में ज़्यादा जानकारी देने वाला मैसेज शामिल हो सकता है. हालांकि, ऐसा करना ज़रूरी नहीं है.

सफल

यह फ़ील्ड एक बूलियन वैल्यू है. अगर ऐक्सेस वापस लेने का तरीका सही तरीके से काम करता है, तो इसे 'सही' पर सेट किया जाता है. अगर यह तरीका काम नहीं करता है, तो इसे 'गलत' पर सेट किया जाता है.

गड़बड़ी

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