वेबसाइटों के लिए, Google की 3P (तीसरे पक्ष की) अनुमति वाली JavaScript लाइब्रेरी - एपीआई का रेफ़रंस

इस रेफ़रंस में, Google 3P Authorization JavaScript Library API के बारे में बताया गया है. इसका इस्तेमाल, Google से अनुमति कोड या ऐक्सेस टोकन लोड करने के लिए किया जा सकता है.

तरीका: google.accounts.oauth2.initCodeClient

initCodeClient तरीका, पैरामीटर में कॉन्फ़िगरेशन के साथ कोड क्लाइंट को शुरू करता है और दिखाता है.

google.accounts.oauth2.initCodeClient(config: CodeClientConfig)

डेटा टाइप: CodeClientConfig

नीचे दी गई टेबल में, CodeClientConfig डेटा टाइप की प्रॉपर्टी की सूची दी गई है.

प्रॉपर्टी
client_id ज़रूरी है. आपके ऐप्लिकेशन का क्लाइंट आईडी. यह वैल्यू, एपीआई कंसोल में देखी जा सकती है.
scope ज़रूरी है. स्पेस से अलग किए गए स्कोप की सूची, जो उन संसाधनों की पहचान करती है जिन्हें आपका ऐप्लिकेशन उपयोगकर्ता की ओर से ऐक्सेस कर सकता है. इन वैल्यू से, सहमति वाली उस स्क्रीन के बारे में पता चलता है जिसे Google, उपयोगकर्ता को दिखाता है.
include_granted_scopes ज़रूरी नहीं, डिफ़ॉल्ट रूप से true. इससे ऐप्लिकेशन, ज़रूरत के मुताबिक अनुमति का इस्तेमाल करके, कॉन्टेक्स्ट में अन्य स्कोप को ऐक्सेस करने का अनुरोध कर सकते हैं. अगर इस पैरामीटर की वैल्यू को false पर सेट किया जाता है और अनुमति का अनुरोध स्वीकार कर लिया जाता है, तो नया ऐक्सेस टोकन सिर्फ़ उन स्कोप को कवर करेगा जिनके लिए scope ने इस CodeClientConfig में अनुरोध किया है.
redirect_uri रीडायरेक्ट यूज़र एक्सपीरियंस के लिए ज़रूरी है. यह तय करता है कि अनुमति देने की प्रोसेस पूरी करने के बाद, एपीआई सर्वर उपयोगकर्ता को कहां रीडायरेक्ट करेगा. यह वैल्यू, OAuth 2.0 क्लाइंट के लिए अनुमति वाले किसी रीडायरेक्ट यूआरआई से पूरी तरह मेल खानी चाहिए. आपने इस क्लाइंट को API Console में कॉन्फ़िगर किया है. साथ ही, यह वैल्यू रीडायरेक्ट यूआरआई की पुष्टि करने के हमारे नियमों के मुताबिक होनी चाहिए. पॉप-अप यूज़र एक्सपीरियंस (यूएक्स), इस प्रॉपर्टी को अनदेखा कर देगा.
callback पॉप-अप यूज़र एक्सपीरियंस के लिए ज़रूरी है. JavaScript फ़ंक्शन, जो रिटर्न किए गए कोड के रिस्पॉन्स को मैनेज करता है. रीडायरेक्ट यूज़र एक्सपीरियंस (यूएक्स) में, प्रॉपर्टी को अनदेखा कर दिया जाएगा.
state ज़रूरी नहीं. रीडायरेक्ट के यूज़र एक्सपीरियंस के लिए सुझाया गया. इस एट्रिब्यूट की वैल्यू, किसी स्ट्रिंग की वैल्यू होती है. आपका ऐप्लिकेशन, अनुमति के अनुरोध और अनुमति देने वाले सर्वर के जवाब के बीच की स्थिति को बनाए रखने के लिए, इस वैल्यू का इस्तेमाल करता है.
enable_granular_consent अब काम नहीं करता. सेट करने पर कोई असर नहीं पड़ता. सहमति के व्यवहार की जानकारी के लिए, अलग-अलग अनुमतियां देखें.
enable_serial_consent अब काम नहीं करता. सेट करने पर कोई असर नहीं पड़ता. सहमति के व्यवहार की जानकारी के लिए, अलग-अलग अनुमतियां देखें.
login_hint ज़रूरी नहीं. अगर आपके ऐप्लिकेशन को पता है कि अनुरोध की अनुमति किस उपयोगकर्ता को देनी चाहिए, तो वह Google को लॉगिन करने का सुझाव देने के लिए, इस प्रॉपर्टी का इस्तेमाल कर सकता है. अगर यह प्रोसेस पूरी हो जाती है, तो खाता चुनने की प्रोसेस को छोड़ दिया जाता है. टारगेट किए गए उपयोगकर्ता के लिए, ईमेल पता या आईडी टोकन sub फ़ील्ड की वैल्यू. ज़्यादा जानकारी के लिए, OpenID Connect के दस्तावेज़ में login_hint फ़ील्ड देखें.
hd ज़रूरी नहीं. अगर आपके ऐप्लिकेशन को पता है कि उपयोगकर्ता किस Workspace डोमेन से जुड़ा है, तो Google को इसकी जानकारी देने के लिए इसका इस्तेमाल करें. खाता जोड़ने के बाद, उपयोगकर्ता खाते सिर्फ़ दिए गए डोमेन के लिए उपलब्ध होते हैं या पहले से चुने जाते हैं. ज़्यादा जानकारी के लिए, OpenID Connect के दस्तावेज़ में hd फ़ील्ड देखें.
ux_mode ज़रूरी नहीं. ऑथराइज़ेशन फ़्लो के लिए इस्तेमाल किया जाने वाला यूज़र एक्सपीरियंस (UX) मोड. डिफ़ॉल्ट रूप से, यह सहमति फ़्लो को पॉप-अप में खोलेगा. मान्य वैल्यू popup और redirect हैं.
select_account ज़रूरी नहीं, डिफ़ॉल्ट रूप से 'गलत' पर सेट होती है. उपयोगकर्ता को खाता चुनने के लिए कहने के लिए, बूलियन वैल्यू.
error_callback ज़रूरी नहीं. यह एक JavaScript फ़ंक्शन है, जो OAuth से जुड़ी गड़बड़ियों के अलावा, कुछ अन्य गड़बड़ियों को भी मैनेज करता है. जैसे, पॉप-अप विंडो खुलने में समस्या आना या OAuth रिस्पॉन्स मिलने से पहले विंडो बंद हो जाना.

इनपुट पैरामीटर के `type` फ़ील्ड में, इसकी पूरी वजह दी गई है.
  • popup_failed_to_open पॉप-अप विंडो नहीं खुली.
  • popup_closed OAuth का जवाब मिलने से पहले, पॉप-अप विंडो बंद हो गई.
  • unknown अन्य गड़बड़ियों के लिए प्लेसहोल्डर.

डेटा टाइप: CodeClient

इस क्लास में सिर्फ़ एक सार्वजनिक तरीका requestCode है, जो OAuth 2.0 कोड UX फ़्लो शुरू करता है.

interface CodeClient {
  requestCode(): void;
}

डेटा टाइप: CodeResponse

पॉप-अप यूज़र एक्सपीरियंस में, CodeResponse JavaScript ऑब्जेक्ट को आपके callback तरीके में पास किया जाएगा. रीडायरेक्ट यूज़र एक्सपीरियंस (यूएक्स) में, CodeResponse को यूआरएल पैरामीटर के तौर पर पास किया जाएगा.

नीचे दी गई टेबल में, CodeResponse डेटा टाइप की प्रॉपर्टी की सूची दी गई है.

प्रॉपर्टी
code टोकन के जवाब के तौर पर मिला अनुमति कोड.
scope उपयोगकर्ता की अनुमति वाले स्कोप की सूची, जिसमें स्पेस का इस्तेमाल किया गया है.
state स्ट्रिंग वैल्यू, जिसका इस्तेमाल आपका ऐप्लिकेशन अनुमति के अनुरोध और जवाब के बीच की स्थिति को बनाए रखने के लिए करता है.
error ASCII में गड़बड़ी का एक कोड.
error_description यह एक ऐसा ASCII टेक्स्ट है जिसे कोई भी व्यक्ति पढ़ सकता है. इसमें अतिरिक्त जानकारी दी जाती है. इसका इस्तेमाल, क्लाइंट डेवलपर को हुई गड़बड़ी को समझने में मदद करने के लिए किया जाता है.
error_uri यह यूआरआई, गड़बड़ी की जानकारी वाले ऐसे वेब पेज की पहचान करता है जिसे कोई भी व्यक्ति पढ़ सकता है. इसका इस्तेमाल, क्लाइंट डेवलपर को गड़बड़ी के बारे में ज़्यादा जानकारी देने के लिए किया जाता है.

तरीका: google.accounts.oauth2.initTokenClient

initTokenClient वाला तरीका, पैरामीटर में मौजूद कॉन्फ़िगरेशन के साथ टोकन क्लाइंट को शुरू करता है और दिखाता है.

google.accounts.oauth2.initTokenClient(config: TokenClientConfig)

डेटा टाइप: TokenClientConfig

नीचे दी गई टेबल में, TokenClientConfig डेटा टाइप की प्रॉपर्टी की सूची दी गई है.

प्रॉपर्टी
client_id ज़रूरी है. आपके ऐप्लिकेशन का क्लाइंट आईडी. यह वैल्यू, एपीआई कंसोल में देखी जा सकती है.
callback ज़रूरी है. JavaScript फ़ंक्शन, जो दिखाए गए टोकन के जवाब को मैनेज करता है.
scope ज़रूरी है. स्पेस से अलग किए गए स्कोप की सूची, जो उन संसाधनों की पहचान करती है जिन्हें आपका ऐप्लिकेशन उपयोगकर्ता की ओर से ऐक्सेस कर सकता है. इन वैल्यू से, सहमति वाली उस स्क्रीन के बारे में पता चलता है जिसे Google, उपयोगकर्ता को दिखाता है.
include_granted_scopes ज़रूरी नहीं, डिफ़ॉल्ट रूप से true. इससे ऐप्लिकेशन, ज़रूरत के मुताबिक अनुमति का इस्तेमाल करके, कॉन्टेक्स्ट में अन्य स्कोप को ऐक्सेस करने का अनुरोध कर सकते हैं. अगर इस पैरामीटर की वैल्यू को false पर सेट किया जाता है और अनुमति का अनुरोध स्वीकार कर लिया जाता है, तो नया ऐक्सेस टोकन सिर्फ़ उन स्कोप को कवर करेगा जिनके लिए scope ने इस TokenClientConfig में अनुरोध किया है.
prompt ज़रूरी नहीं, डिफ़ॉल्ट रूप से 'select_account' पर सेट होता है. उपयोगकर्ता को दिखाने के लिए, स्पेस से अलग की गई, अंग्रेज़ी के छोटे-बड़े अक्षरों पर आधारित प्रॉम्प्ट की सूची. वैल्यू इस तरह की हो सकती हैं:
  • खाली स्ट्रिंग जब आपका ऐप्लिकेशन पहली बार ऐक्सेस का अनुरोध करेगा, तब ही उपयोगकर्ता को सूचना दी जाएगी. इसे अन्य वैल्यू के साथ नहीं दिया जा सकता.
  • 'none' पुष्टि करने या सहमति देने के लिए कोई स्क्रीन न दिखाएं. इसे अन्य वैल्यू के साथ नहीं दिया जाना चाहिए.
  • 'consent' उपयोगकर्ता से सहमति मांगें.
  • 'select_account' उपयोगकर्ता को कोई खाता चुनने के लिए कहें.
enable_granular_consent अब काम नहीं करता. सेट करने पर कोई असर नहीं पड़ता. सहमति के व्यवहार की जानकारी के लिए, अलग-अलग अनुमतियां देखें.
enable_serial_consent अब काम नहीं करता. सेट करने पर कोई असर नहीं पड़ता. सहमति के व्यवहार की जानकारी के लिए, अलग-अलग अनुमतियां देखें.
login_hint ज़रूरी नहीं. अगर आपके ऐप्लिकेशन को पता है कि अनुरोध की अनुमति किस उपयोगकर्ता को देनी चाहिए, तो वह Google को लॉगिन करने का सुझाव देने के लिए, इस प्रॉपर्टी का इस्तेमाल कर सकता है. अगर यह प्रोसेस पूरी हो जाती है, तो खाता चुनने की प्रोसेस को छोड़ दिया जाता है. टारगेट किए गए उपयोगकर्ता के लिए, ईमेल पता या आईडी टोकन sub फ़ील्ड की वैल्यू. ज़्यादा जानकारी के लिए, OpenID Connect के दस्तावेज़ में login_hint फ़ील्ड देखें.
hd ज़रूरी नहीं. अगर आपके ऐप्लिकेशन को पता है कि उपयोगकर्ता किस Workspace डोमेन से जुड़ा है, तो Google को इसकी जानकारी देने के लिए इसका इस्तेमाल करें. खाता जोड़ने के बाद, उपयोगकर्ता खाते सिर्फ़ दिए गए डोमेन के लिए उपलब्ध होते हैं या पहले से चुने जाते हैं. ज़्यादा जानकारी के लिए, OpenID Connect के दस्तावेज़ में hd फ़ील्ड देखें.
state ज़रूरी नहीं. इसे इस्तेमाल करने का सुझाव नहीं दिया जाता है. इस एट्रिब्यूट की वैल्यू, किसी स्ट्रिंग की वैल्यू होती है. आपका ऐप्लिकेशन, अनुमति के अनुरोध और अनुमति देने वाले सर्वर के जवाब के बीच की स्थिति को बनाए रखने के लिए, इस वैल्यू का इस्तेमाल करता है.
error_callback ज़रूरी नहीं. यह एक JavaScript फ़ंक्शन है, जो OAuth से जुड़ी गड़बड़ियों के अलावा, कुछ अन्य गड़बड़ियों को भी मैनेज करता है. जैसे, पॉप-अप विंडो खुलने में समस्या आना या OAuth रिस्पॉन्स मिलने से पहले विंडो बंद हो जाना.

इनपुट पैरामीटर के `type` फ़ील्ड में, इसकी पूरी वजह दी गई है.
  • popup_failed_to_open पॉप-अप विंडो नहीं खुली.
  • popup_closed OAuth का जवाब मिलने से पहले, पॉप-अप विंडो बंद हो गई.
  • unknown अन्य गड़बड़ियों के लिए प्लेसहोल्डर.

डेटा टाइप: TokenClient

इस क्लास में सिर्फ़ एक सार्वजनिक तरीका requestAccessToken है, जो OAuth 2.0 टोकन यूज़र एक्सपीरियंस (UX) फ़्लो शुरू करता है.

interface TokenClient {
  requestAccessToken(overrideConfig?: OverridableTokenClientConfig): void;
}
तर्क
overrideConfig OverridableTokenClientConfig ज़रूरी नहीं. इस तरीके से बदले जाने वाले कॉन्फ़िगरेशन.

डेटा टाइप: OverridableTokenClientConfig

नीचे दी गई टेबल में, OverridableTokenClientConfig डेटा टाइप की प्रॉपर्टी की सूची दी गई है.

प्रॉपर्टी
scope ज़रूरी नहीं. स्पेस से अलग किए गए स्कोप की सूची, जो उन संसाधनों की पहचान करती है जिन्हें आपका ऐप्लिकेशन उपयोगकर्ता की ओर से ऐक्सेस कर सकता है. इन वैल्यू से, उस सहमति वाली स्क्रीन के बारे में पता चलता है जो Google, उपयोगकर्ता को दिखाता है.
include_granted_scopes ज़रूरी नहीं, डिफ़ॉल्ट रूप से true. इससे ऐप्लिकेशन, ज़रूरत के मुताबिक अनुमति का इस्तेमाल करके, कॉन्टेक्स्ट में अन्य स्कोप को ऐक्सेस करने का अनुरोध कर सकते हैं. अगर इस पैरामीटर की वैल्यू को false पर सेट किया जाता है और अनुमति का अनुरोध स्वीकार कर लिया जाता है, तो नया ऐक्सेस टोकन सिर्फ़ उन स्कोप को कवर करेगा जिनके लिए scope ने इस OverridableTokenClientConfig में अनुरोध किया है.
prompt ज़रूरी नहीं. उपयोगकर्ता को दिखाने के लिए, स्पेस से अलग की गई, केस-सेंसिटिव प्रॉम्प्ट की सूची.
enable_granular_consent अब काम नहीं करता. सेट करने पर कोई असर नहीं पड़ता. सहमति के व्यवहार के बारे में जानकारी के लिए, अलग-अलग अनुमतियां देखें.
enable_serial_consent अब काम नहीं करता. सेट करने पर कोई असर नहीं पड़ता. सहमति के व्यवहार की जानकारी के लिए, अलग-अलग अनुमतियां देखें.
login_hint ज़रूरी नहीं. अगर आपके ऐप्लिकेशन को पता है कि अनुरोध की अनुमति किस उपयोगकर्ता को देनी चाहिए, तो वह Google को लॉगिन करने का सुझाव देने के लिए, इस प्रॉपर्टी का इस्तेमाल कर सकता है. अगर यह प्रोसेस पूरी हो जाती है, तो खाता चुनने की प्रोसेस को छोड़ दिया जाता है. टारगेट किए गए उपयोगकर्ता के लिए, ईमेल पता या आईडी टोकन sub फ़ील्ड की वैल्यू. ज़्यादा जानकारी के लिए, OpenID Connect के दस्तावेज़ में login_hint फ़ील्ड देखें.
state ज़रूरी नहीं. इसे इस्तेमाल करने का सुझाव नहीं दिया जाता है. इस एट्रिब्यूट की वैल्यू, किसी स्ट्रिंग की वैल्यू होती है. आपका ऐप्लिकेशन, अनुमति के अनुरोध और अनुमति देने वाले सर्वर के जवाब के बीच स्थिति बनाए रखने के लिए, इस वैल्यू का इस्तेमाल करता है.

डेटा टाइप: TokenResponse

पॉप-अप यूज़र इंटरफ़ेस में, आपके कॉलबैक मैथड में TokenResponse JavaScript ऑब्जेक्ट पास किया जाएगा.

नीचे दी गई टेबल में, TokenResponse डेटा टाइप की प्रॉपर्टी की सूची दी गई है.

प्रॉपर्टी
access_token टोकन के लिए मिले जवाब का ऐक्सेस टोकन.
expires_in ऐक्सेस टोकन का लाइफ़टाइम, सेकंड में.
hd होस्ट किया गया वह डोमेन जिससे साइन इन करने वाले उपयोगकर्ता का जुड़ाव है.
prompt TokenClientConfig या OverridableTokenClientConfig की बताई गई वैल्यू की सूची में से इस्तेमाल की गई प्रॉम्प्ट वैल्यू.
token_type जारी किए गए टोकन का टाइप.
scope उपयोगकर्ता की अनुमति वाले स्कोप की सूची, जिसमें स्पेस का इस्तेमाल किया गया है.
state स्ट्रिंग वैल्यू, जिसका इस्तेमाल आपका ऐप्लिकेशन अनुमति के अनुरोध और जवाब के बीच की स्थिति को बनाए रखने के लिए करता है.
error ASCII में लिखा गया गड़बड़ी का एक कोड.
error_description यह एक ऐसा ASCII टेक्स्ट है जिसे कोई भी व्यक्ति पढ़ सकता है. इसमें अतिरिक्त जानकारी दी जाती है. इसका इस्तेमाल, क्लाइंट डेवलपर को हुई गड़बड़ी को समझने में मदद करने के लिए किया जाता है.
error_uri यह यूआरआई, गड़बड़ी की जानकारी वाले ऐसे वेब पेज की पहचान करता है जिसे कोई भी व्यक्ति पढ़ सकता है. इसका इस्तेमाल, क्लाइंट डेवलपर को गड़बड़ी के बारे में ज़्यादा जानकारी देने के लिए किया जाता है.

तरीका: google.accounts.oauth2.hasGrantedAllScopes

यह जांच करता है कि उपयोगकर्ता ने तय किए गए सभी स्कोप या स्कोप को अनुमति दी है या नहीं.

google.accounts.oauth2.hasGrantedAllScopes(
                                            tokenResponse: TokenResponse,
                                            firstScope: string, ...restScopes: string[]
                                          ): boolean;
तर्क
tokenResponse TokenResponse ज़रूरी है. TokenResponse ऑब्जेक्ट.
firstScope स्ट्रिंग ज़रूरी है. जांच का दायरा.
restScopes string[] ज़रूरी नहीं. जांच करने के लिए अन्य स्कोप.
रिटर्न
बूलियन अगर सभी स्कोप दिए गए हैं, तो True दिखाता है.

तरीका: google.accounts.oauth2.hasGrantedAnyScope

यह जांच करता है कि उपयोगकर्ता ने किसी खास दायरे या दायरों को अनुमति दी है या नहीं.

google.accounts.oauth2.hasGrantedAnyScope(
                                           tokenResponse: TokenResponse,
                                           firstScope: string, ...restScopes: string[]
                                         ): boolean;
तर्क
tokenResponse TokenResponse ज़रूरी है. TokenResponse ऑब्जेक्ट.
firstScope स्ट्रिंग ज़रूरी है. जांच का दायरा.
restScopes string[] ज़रूरी नहीं. जांच करने के लिए अन्य स्कोप.
रिटर्न
बूलियन अगर कोई भी स्कोप दिया गया है, तो True.

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

revoke तरीके से, उपयोगकर्ता ने ऐप्लिकेशन को जो स्कोप दिए हैं उन्हें रद्द कर दिया जाता है. अनुमति रद्द करने के लिए, मान्य ऐक्सेस टोकन की ज़रूरत होती है.

google.accounts.oauth2.revoke(accessToken: string, done: () => void): void;
तर्क
accessToken स्ट्रिंग ज़रूरी है. मान्य ऐक्सेस टोकन.
callback फ़ंक्शन ज़रूरी नहीं. RevocationResponse हैंडलर.

डेटा टाइप: RevocationResponse

आपके कॉलबैक तरीके में RevocationResponse JavaScript ऑब्जेक्ट पास किया जाएगा.

नीचे दी गई टेबल में, RevocationResponse डेटा टाइप की प्रॉपर्टी की सूची दी गई है.

प्रॉपर्टी
successful बूलियन. true सफल होने पर, false असफल होने पर.
error स्ट्रिंग. सफल होने पर, कोई वैल्यू नहीं दी जाती. ASCII में लिखा गया गड़बड़ी का एक कोड. इसमें OAuth 2.0 के स्टैंडर्ड गड़बड़ी कोड शामिल हैं. हालांकि, इसमें और भी कोड शामिल हो सकते हैं. revoke तरीके से डेटा इंपोर्ट करने पर होने वाली सामान्य गड़बड़ियां:
  • invalid_token - revoke मेथड को कॉल करने से पहले, टोकन की समयसीमा खत्म हो चुकी है या उसे रद्द कर दिया गया है. ज़्यादातर मामलों में, accessToken से जुड़े अनुदान को रद्द माना जा सकता है.
  • invalid_request - टोकन रद्द नहीं किया जा सकता. आपको यह पक्का करना चाहिए कि accessToken, Google OAuth 2.0 का मान्य क्रेडेंशियल हो.
error_description स्ट्रिंग. सफल होने पर, कोई वैल्यू नहीं दी जाती. ASCII टेक्स्ट, error प्रॉपर्टी के बारे में ज़्यादा जानकारी देता है. डेवलपर इस जानकारी का इस्तेमाल, हुई गड़बड़ी को बेहतर तरीके से समझने के लिए कर सकते हैं. error_description स्ट्रिंग सिर्फ़ अंग्रेज़ी में होनी चाहिए. error में दी गई सामान्य गड़बड़ियों के लिए, संबंधित error_description:
  • invalid_token - टोकन की समयसीमा खत्म हो गई है या उसे रद्द कर दिया गया है.
  • invalid_request - टोकन को रद्द नहीं किया जा सकता.