इस रेफ़रंस में, JavaScript क्लाइंट के उन तरीकों और एट्रिब्यूट के बारे में बताया गया है जिनका इस्तेमाल आपको अपने वेब ऐप्लिकेशन में 'Google साइन-इन' लागू करने के लिए करना होगा.
अगर आपको लाइब्रेरी का इस्तेमाल करने में कोई समस्या आती है, तो कृपया GitHub रिपॉज़िटरी पर उसकी शिकायत करें.
अनुमति देने का सेटअप
gapi
ऑब्जेक्ट बनाने के लिए, Google API प्लैटफ़ॉर्म लाइब्रेरी लोड करें:
<script src="https://apis.google.com/js/platform.js?onload=init" async defer></script>
प्लैटफ़ॉर्म लाइब्रेरी लोड होने के बाद, auth2
लाइब्रेरी को लोड करें:
function init() {
gapi.load('auth2', function() {
/* Ready. Make a call to gapi.auth2.init or some other API */
});
}
gapi.auth2.init(params)
GoogleAuth
ऑब्जेक्ट को शुरू करता है. gapi.auth2.GoogleAuth
के तरीकों को कॉल करने से पहले आपको इस तरीके को कॉल करना होगा.
GoogleAuth
ऑब्जेक्ट को शुरू करने पर, ऑब्जेक्ट को अपने OAuth 2.0 क्लाइंट आईडी के साथ कॉन्फ़िगर किया जाता है. साथ ही, ऐसे अन्य विकल्पों के साथ भी ऑब्जेक्ट को कॉन्फ़िगर किया जाता है जिन्हें आपको तय करना है. इसके बाद, अगर उपयोगकर्ता ने पहले से साइन इन कर रखा है, तो GoogleAuth
ऑब्जेक्ट, पिछले सेशन से उपयोगकर्ता की साइन इन करने की स्थिति को पहले जैसा कर देता है.
तर्क | |
---|---|
params |
यह एक ऑब्जेक्ट है, जिसमें क्लाइंट कॉन्फ़िगरेशन डेटा के की-वैल्यू पेयर होते हैं. कॉन्फ़िगर की जा सकने वाली अलग-अलग
प्रॉपर्टी के लिए,
gapi.auth2.ClientConfig देखें. उदाहरण के लिए:
{ client_id: 'CLIENT_ID.apps.googleusercontent.com' } |
लौटाए गए प्रॉडक्ट | |
---|---|
gapi.auth2.GoogleAuth |
gapi.auth2.GoogleAuth ऑब्जेक्ट. ऐसा प्रॉमिस पाने के लिए,
then() तरीके का इस्तेमाल करें
जब gapi.auth2.GoogleAuth ऑब्जेक्ट के शुरू होने के बाद
इस तरीके का इस्तेमाल किया जाता है.
|
GoogleAuth.then(onInit, onError)
GoogleAuth
ऑब्जेक्ट के पूरी तरह से शुरू होने पर, onInit फ़ंक्शन को कॉल किया जाता है. अगर शुरू करते समय कोई गड़बड़ी दिखती है (ऐसा पुराने ब्राउज़र में हो सकता है जो काम नहीं करता), तो उसके बजाय onError फ़ंक्शन को कॉल किया जाएगा.
तर्क | |
---|---|
onInit |
पूरी तरह से शुरू होने पर, GoogleAuth ऑब्जेक्ट के साथ कॉल किया जाने वाला फ़ंक्शन.
|
onError |
अगर GoogleAuth शुरू नहीं हो सका, तो error प्रॉपर्टी वाले ऑब्जेक्ट के साथ कॉल किया गया फ़ंक्शन.
|
लौटाए गए प्रॉडक्ट | |
---|---|
वादा | ऐसा Promise जो onInit फ़ंक्शन के पूरा होने पर पूरा होता है या शुरू करने में कोई गड़बड़ी होने पर अस्वीकार किया जाता है. यह onInit फ़ंक्शन से मिली
रिटर्न वैल्यू के साथ समाधान करता है, अगर कोई हो. |
गड़बड़ी कोड
idpiframe_initialization_failed
-
उदाहरण के लिए, काम नहीं करने वाले एनवायरमेंट की वजह से Google से ज़रूरी iframe शुरू नहीं हो सका.
details
प्रॉपर्टी, बताई गई गड़बड़ी के बारे में ज़्यादा जानकारी देगी.
gapi.auth2.ClientConfig
ऐसा इंटरफ़ेस जो gapi.auth2.init
तरीके के लिए अलग-अलग कॉन्फ़िगरेशन पैरामीटर दिखाता है.
पैरामीटर | ||
---|---|---|
client_id |
string |
ज़रूरी है. ऐप्लिकेशन का क्लाइंट आईडी, जो Google Developers Console में मिला और बनाया गया था. |
cookie_policy |
string |
वे डोमेन जिनके लिए साइन-इन कुकी बनानी है. यूआरआई,
single_host_origin या none . कोई जानकारी न होने पर, डिफ़ॉल्ट वैल्यू
single_host_origin होती है. |
scope |
string |
अनुरोध किए जाने वाले स्कोप, स्पेस के ज़रिए डीलिमिटेड स्ट्रिंग. अगर fetch_basic_profile को 'गलत है' पर सेट नहीं किया गया है, तो यह ज़रूरी नहीं है. |
fetch_basic_profile |
boolean |
उपयोगकर्ताओं के साइन इन करते समय, उनकी प्रोफ़ाइल की बुनियादी जानकारी पाएं. यह अनुरोध किए गए दायरों में 'प्रोफ़ाइल', 'ईमेल', और 'openid' जोड़ता है. अगर जानकारी नहीं दी गई है, तो वैल्यू 'सही' होगी. |
hosted_domain |
string |
वह G Suite डोमेन जिससे उपयोगकर्ताओं को साइन इन करना ज़रूरी है. इसमें
क्लाइंट से बदलाव हो सकते हैं. इसलिए, लौटने वाले उपयोगकर्ता की
होस्ट की गई डोमेन प्रॉपर्टी की पुष्टि ज़रूर करें. क्लाइंट पर
GoogleUser.getHostedDomain()
का इस्तेमाल करें. साथ ही, सर्वर पर आईडी टोकन में मौजूद
hd दावे का इस्तेमाल करके, पुष्टि करें कि डोमेन आपकी उम्मीद के मुताबिक है.
|
ux_mode |
string |
साइन इन फ़्लो के लिए इस्तेमाल करने के लिए UX मोड. डिफ़ॉल्ट रूप से, यह सहमति फ़्लो को पॉप-अप में खोलेगा. मान्य वैल्यू popup और redirect हैं. |
redirect_uri |
string |
ux_mode='redirect' का इस्तेमाल करने पर, इस पैरामीटर की मदद से
डिफ़ॉल्ट redirect_uri को बदला जा सकता है. इसका इस्तेमाल सहमति की प्रोसेस के आखिर में किया जाएगा. डिफ़ॉल्ट
redirect_uri , वह मौजूदा यूआरएल है जिसे क्वेरी पैरामीटर और हैश फ़्रैगमेंट से हटाया गया है.
|
enable_granular_consent |
boolean |
ज़रूरी नहीं. आपको
ज़्यादा जानकारी वाली अनुमतियां चालू करनी हैं या नहीं. अगर नीति को false पर सेट किया जाता है, तो 2019 से पहले बनाए गए OAuth क्लाइंट आईडी के लिए, Google खाते की ज़्यादा जानकारी वाली अनुमतियां बंद हो जाएंगी. साल 2019 के दौरान या उसके बाद बनाए गए OAuth क्लाइंट आईडी पर कोई असर नहीं पड़ा है. इसकी वजह यह है कि उनके लिए ज़्यादा जानकारी वाली अनुमतियां हमेशा चालू रहती हैं.
|
plugin_name |
string |
ज़रूरी नहीं. अगर यह वैल्यू सेट की जाती है, तो 29 जुलाई, 2022 से पहले बनाए गए नए Client-ID में, Google Platform की पुरानी लाइब्रेरी का इस्तेमाल किया जा सकता है.
डिफ़ॉल्ट रूप से, नए बनाए गए Client-ID को अब प्लैटफ़ॉर्म लाइब्रेरी का इस्तेमाल करने से रोक दिया जाता है. इसके बजाय, उन्हें Google Identity Services लाइब्रेरी का इस्तेमाल करना होगा. आपके पास कोई भी वैल्यू चुनने का विकल्प होता है. आसानी से पहचान करने के लिए, प्रॉडक्ट या प्लगिन के नाम जैसे किसी जानकारी देने वाले नाम को चुनने का सुझाव दिया जाता है.
उदाहरण: plugin_name: 'YOUR_STRING_HERE'
|
पुष्टि करना
GoogleAuth
एक सिंगलटन क्लास है, जो उपयोगकर्ता को Google खाते से साइन इन करने, उसके साइन इन की मौजूदा स्थिति की जानकारी पाने, उपयोगकर्ता की Google प्रोफ़ाइल से खास डेटा पाने, अतिरिक्त दायरों का अनुरोध करने, और मौजूदा खाते से साइन आउट करने के तरीके मुहैया कराती है.
gapi.auth2.getAuthInstance()
GoogleAuth
ऑब्जेक्ट दिखाता है. इस तरीके को कॉल करने से पहले, आपको GoogleAuth
ऑब्जेक्ट को gapi.auth2.init()
से शुरू करना होगा.
लौटाए गए प्रॉडक्ट | |
---|---|
gapi.auth2.GoogleAuth |
gapi.auth2.GoogleAuth ऑब्जेक्ट. gapi.auth2.GoogleAuth के तरीकों को कॉल करने के लिए,
इस ऑब्जेक्ट का इस्तेमाल करें.
|
GoogleAuth.isSignedIn.get()
यह दिखाता है कि मौजूदा उपयोगकर्ता ने फ़िलहाल साइन इन किया है या नहीं.
लौटाए गए प्रॉडक्ट | |
---|---|
बूलियन |
अगर उपयोगकर्ता ने साइन इन किया हुआ है, तो true . इसके अलावा, अगर उपयोगकर्ता ने
साइन आउट कर दिया है या GoogleAuth ऑब्जेक्ट शुरू नहीं किया है,
तो false .
|
GoogleAuth.isSignedIn.listen(listener)
मौजूदा उपयोगकर्ता के साइन इन की स्थिति में हुए बदलावों को सुनें.
तर्क | |
---|---|
listener |
ऐसा फ़ंक्शन जो बूलियन वैल्यू लेता है. जब उपयोगकर्ता साइन इन करता है, तो listen() इस फ़ंक्शन में
true पास करता है. साथ ही, जब उपयोगकर्ता साइन आउट करता है, तो
false पास करता है.
|
GoogleAuth.signIn()
gapi.auth2.init()
के लिए दिए गए विकल्पों से उपयोगकर्ता में साइन इन करता है.
लौटाए गए प्रॉडक्ट | |
---|---|
वादा | ऐसा Promise जो GoogleUser इंस्टेंस के साथ तब पूरा होता है, जब उपयोगकर्ता अनुरोध किए गए दायरों की पुष्टि करता है और उन्हें अनुमति देता है. इसके अलावा, कोई गड़बड़ी होने पर, error प्रॉपर्टी वाले ऑब्जेक्ट की मदद से उसे अस्वीकार कर दिया जाता है (गड़बड़ी के कोड नीचे देखें). |
गड़बड़ी कोड
GoogleAuth.signIn(options)
देखें.
GoogleAuth.signIn(options)
दिए गए विकल्पों का इस्तेमाल करके उपयोगकर्ता को साइन इन करता है.
तर्क | |
---|---|
options |
ऐसा करने के लिए, इनमें से कोई एक काम करें:
|
लौटाए गए प्रॉडक्ट | |
---|---|
वादा | ऐसा Promise जो GoogleUser इंस्टेंस के साथ तब पूरा होता है, जब उपयोगकर्ता अनुरोध किए गए दायरों की पुष्टि करता है और उन्हें अनुमति देता है. इसके अलावा, कोई गड़बड़ी होने पर, error प्रॉपर्टी वाले ऑब्जेक्ट की मदद से उसे अस्वीकार कर दिया जाता है (गड़बड़ी के कोड नीचे देखें). |
गड़बड़ी कोड
popup_closed_by_user
- उपयोगकर्ता ने साइन इन फ़्लो पूरा होने से पहले ही पॉप-अप बंद कर दिया.
access_denied
- उपयोगकर्ता ने ज़रूरी दायरों की अनुमति नहीं दी.
immediate_failed
-
सहमति लेने की प्रोसेस को प्रॉम्प्ट किए बिना, किसी भी उपयोगकर्ता को अपने-आप नहीं चुना जा सकता.
prompt: 'none'
विकल्प के साथsignIn
का इस्तेमाल करते समय गड़बड़ी हुई. इस विकल्प का इस्तेमाल करना ज़रूरी नहीं होना चाहिए, क्योंकि अगरgapi.auth2.init
पिछले सेशन के दौरान पहले साइन इन किया होगा, तो वह अपने-आप उपयोगकर्ता को साइन इन कर देगा.
gapi.auth2.SignInOptions
ऐसा इंटरफ़ेस जो GoogleAuth.signIn(options)
तरीके के अलग-अलग कॉन्फ़िगरेशन पैरामीटर दिखाता है.
पैरामीटर | ||
---|---|---|
prompt |
string |
सहमति के फ़्लो के लिए, किसी खास मोड को लागू करता है. ज़रूरी नहीं. ये वैल्यू दिख सकती हैं:
|
scope |
string |
gapi.auth2.init पैरामीटर में बताए गए स्कोप के ऊपर, स्पेस के ज़रिए अलग की गई स्ट्रिंग के तौर पर अनुरोध किए जाने वाले स्कोप. अगर fetch_basic_profile को 'गलत है' पर सेट नहीं किया गया है, तो ज़रूरी नहीं.
|
ux_mode |
string |
साइन इन फ़्लो के लिए इस्तेमाल करने के लिए UX मोड. डिफ़ॉल्ट रूप से, यह सहमति फ़्लो को पॉप-अप में खोलेगा. मान्य वैल्यू popup और redirect हैं. |
redirect_uri |
string |
ux_mode='redirect' का इस्तेमाल करने पर, इस पैरामीटर की मदद से
डिफ़ॉल्ट redirect_uri को बदला जा सकता है. इसका इस्तेमाल सहमति की प्रोसेस के आखिर में किया जाएगा. डिफ़ॉल्ट redirect_uri , मौजूदा यूआरएल है, जिसे क्वेरी
पैरामीटर और हैश फ़्रैगमेंट से हटाया जाता है.
|
GoogleAuth.signOut()
मौजूदा खाते को ऐप्लिकेशन से साइन आउट करता है.
लौटाए गए प्रॉडक्ट | |
---|---|
वादा | ऐसा Promise जो उपयोगकर्ता के साइन आउट होने के बाद पूरा होता है. |
GoogleAuth.disconnect()
उपयोगकर्ता के दिए गए सभी दायरे हटा देता है.
GoogleAuth.grantOfflineAccess(options)
तय किए गए दायरों को ऑफ़लाइन ऐक्सेस करने के लिए, उपयोगकर्ता से अनुमति लें.
तर्क | |
---|---|
options |
एक gapi.auth2.OfflineAccessOptions
ऑब्जेक्ट, जिसमें पैरामीटर के की-वैल्यू पेयर होते हैं. उदाहरण के लिए: { scope: 'profile email' } |
लौटाए गए प्रॉडक्ट | |
---|---|
वादा | यह Promise तब पूरा होता है, जब उपयोगकर्ता अनुरोध किए गए दायरे की अनुमति देता है. साथ ही, यह ऑथराइज़ेशन कोड वाले ऑब्जेक्ट को
Promise के फ़ुलफ़िलमेंट हैंडलर को पास करता है.
उदाहरण के लिए: auth2.grantOfflineAccess().then(function(resp) { var auth_code = resp.code; }); |
गड़बड़ी कोड
popup_closed_by_user
- उपयोगकर्ता ने सहमति की प्रोसेस पूरी होने से पहले ही पॉप-अप बंद कर दिया.
access_denied
- उपयोगकर्ता ने ज़रूरी दायरों की अनुमति नहीं दी.
immediate_failed
-
सहमति लेने की प्रोसेस को प्रॉम्प्ट किए बिना, किसी भी उपयोगकर्ता को अपने-आप नहीं चुना जा सकता.
prompt: 'none'
विकल्प के साथsignIn
का इस्तेमाल करते समय गड़बड़ी हुई. इस विकल्प का इस्तेमाल करना ज़रूरी नहीं होना चाहिए, क्योंकि अगरgapi.auth2.init
पिछले सेशन के दौरान पहले साइन इन किया होगा, तो वह अपने-आप उपयोगकर्ता को साइन इन कर देगा.
gapi.auth2.OfflineAccessOptions
ऐसा इंटरफ़ेस जो GoogleAuth.grantOfflineAccess(options)
तरीके के अलग-अलग कॉन्फ़िगरेशन पैरामीटर दिखाता है.
पैरामीटर | ||
---|---|---|
prompt |
string |
सहमति के फ़्लो के लिए, किसी खास मोड को लागू करता है. ज़रूरी नहीं. ये वैल्यू दिख सकती हैं:
|
scope |
string |
gapi.auth2.init पैरामीटर में बताए गए स्कोप के ऊपर, स्पेस के ज़रिए अलग की गई स्ट्रिंग के तौर पर अनुरोध किए जाने वाले स्कोप. अगर fetch_basic_profile को 'गलत है' पर सेट नहीं किया गया है, तो ज़रूरी नहीं.
|
GoogleAuth.attachClickHandler(container, options, onsuccess, onfailure)
यह नीति, दिए गए कंटेनर के क्लिक हैंडलर में साइन-इन फ़्लो को अटैच करती है.
तर्क | |
---|---|
container | उस div एलिमेंट का आईडी या उसका रेफ़रंस जिसमें
क्लिक हैंडलर को अटैच करना है. |
options | एक ऑब्जेक्ट, जिसमें पैरामीटर के की-वैल्यू पेयर होते हैं. GoogleAuth.signIn() देखें. |
onsuccess | साइन इन पूरा होने के बाद कॉल करने के लिए, चुना जाने वाला फ़ंक्शन. |
onfailure | साइन इन न हो पाने पर, कॉल करने के लिए फ़ंक्शन. |
उपयोगकर्ता
GoogleUser
ऑब्जेक्ट, एक उपयोगकर्ता खाते को दिखाता है.
आम तौर पर, GoogleUser
ऑब्जेक्ट GoogleAuth.currentUser.get() को कॉल करके मिलते हैं.
GoogleAuth.currentUser.get()
मौजूदा उपयोगकर्ता की जानकारी देने वाला GoogleUser
ऑब्जेक्ट दिखाता है. ध्यान दें कि हाल ही में शुरू किए गए GoogleAuth
इंस्टेंस में, मौजूदा उपयोगकर्ता को सेट नहीं किया गया है. शुरुआती GoogleAuth
इंस्टेंस पाने के लिए, currentUser.listen()
तरीके या GoogleAuth.then()
का इस्तेमाल करें.
लौटाए गए प्रॉडक्ट | |
---|---|
GoogleUser |
मौजूदा उपयोगकर्ता |
GoogleAuth.currentUser.listen(listener)
मौजूदा उपयोगकर्ता में हुए बदलावों पर ध्यान दें.
तर्क | |
---|---|
listener |
GoogleUser पैरामीटर लेने वाला फ़ंक्शन.
currentUser में बदलाव करने वाले हर बदलाव पर, listen इस फ़ंक्शन को एक GoogleUser इंस्टेंस पास करता है.
|
GoogleUser.getId()
उपयोगकर्ता का यूनीक आईडी स्ट्रिंग पाएं.
लौटाए गए प्रॉडक्ट | |
---|---|
स्ट्रिंग | उपयोगकर्ता का यूनीक आईडी |
GoogleUser.isSignedIn()
अगर उपयोगकर्ता ने साइन इन किया है, तो 'सही' दिखाता है.
लौटाए गए प्रॉडक्ट | |
---|---|
बूलियन | अगर उपयोगकर्ता ने साइन इन किया हुआ है, तो वैल्यू 'सही' होगी |
GoogleUser.getHostedDomain()
अगर उपयोगकर्ता ने G Suite खाते से साइन इन किया है, तो उपयोगकर्ता का G Suite डोमेन पाएं.
लौटाए गए प्रॉडक्ट | |
---|---|
स्ट्रिंग | उपयोगकर्ता का G Suite डोमेन |
GoogleUser.getGrantedScopes()
वे स्कोप पाएं जो उपयोगकर्ता ने स्पेस डीलिमिटेड स्ट्रिंग के तौर पर दिए हैं.
लौटाए गए प्रॉडक्ट | |
---|---|
स्ट्रिंग | उपयोगकर्ता के दिए गए दायरे |
GoogleUser.getBasicProfile()
उपयोगकर्ता की प्रोफ़ाइल की बुनियादी जानकारी पाना.
लौटाए गए प्रॉडक्ट | |
---|---|
gapi.auth2.BasicProfile |
gapi.auth2.BasicProfile की प्रॉपर्टी को वापस पाने के लिए, इन तरीकों का इस्तेमाल किया जा सकता है:
|
GoogleUser.getAuthResponse(includeAuthorizationData)
उपयोगकर्ता के पुष्टि करने वाले सेशन से रिस्पॉन्स ऑब्जेक्ट पाएं.
तर्क | |
---|---|
includeAuthorizationData | ज़रूरी नहीं: एक बूलियन जो तय करता है कि हमेशा ऐक्सेस टोकन और स्कोप दिखाना है या नहीं. डिफ़ॉल्ट रूप से, जब fetch_basic_profile सही (डिफ़ॉल्ट वैल्यू) होती है और किसी अतिरिक्त दायरे का अनुरोध नहीं किया जाता, तो ऐक्सेस टोकन और अनुरोध किए गए दायरे नहीं दिखते. |
लौटाए गए प्रॉडक्ट | |
---|---|
gapi.auth2.AuthResponse |
एक gapi.auth2.AuthResponse ऑब्जेक्ट. |
GoogleUser.reloadAuthResponse()
ऐक्सेस टोकन को हर हाल में रीफ़्रेश करता है. इसके बाद, नए AuthResponse के लिए Promise दिखाता है.
लौटाए गए प्रॉडक्ट | |
---|---|
Promise |
OAuth टोकन को फिर से लोड करने पर, फिर से लोड किए गए gapi.auth2.AuthResponse के साथ पूरा होने वाला Promise .
|
gapi.auth2.AuthResponse
GoogleUser.getAuthResponse(includeAuthorizationData)
या GoogleUser.reloadAuthResponse()
तरीकों को कॉल करने पर रिस्पॉन्स मिला.
प्रॉपर्टी | ||
---|---|---|
access_token |
string |
ऐक्सेस टोकन दिया गया. |
id_token |
string |
आईडी टोकन दिया गया. |
scope |
string |
ऐक्सेस टोकन में दिए गए दायरे. |
expires_in |
number |
ऐक्सेस टोकन की समयसीमा खत्म होने में लगने वाले सेकंड. |
first_issued_at |
number |
वह टाइमस्टैंप जब उपयोगकर्ता ने पहली बार अनुरोध किए गए दायरों की अनुमति दी थी. |
expires_at |
number |
वह टाइमस्टैंप जिस पर ऐक्सेस टोकन की समयसीमा खत्म हो जाएगी. |
GoogleUser.hasgrantedScopes(scopes)
अगर उपयोगकर्ता ने तय किए गए दायरे दिए हैं, तो 'सही' दिखाता है.
तर्क | |
---|---|
scopes | स्कोप की स्पेस-डीलिमिटेड स्ट्रिंग. |
लौटाए गए प्रॉडक्ट | |
---|---|
बूलियन | अगर दायरे दिए गए हों, तो वैल्यू 'सही' होती है |
GoogleUser.grant(options)
उपयोगकर्ता से अतिरिक्त दायरों का अनुरोध करें.
पैरामीटर की सूची और गड़बड़ी कोड के लिए, GoogleAuth.signIn()
पर जाएं.
GoogleUser.grant ऑफ़लाइनAccess(options)
तय किए गए दायरों को ऑफ़लाइन ऐक्सेस करने के लिए, उपयोगकर्ता से अनुमति लें.
तर्क | |
---|---|
options |
एक gapi.auth2.OfflineAccessOptions
ऑब्जेक्ट, जिसमें पैरामीटर के की-वैल्यू पेयर होते हैं. उदाहरण के लिए: { scope: 'profile email' } |
GoogleUser.disconnect()
उपयोगकर्ता के ऐप्लिकेशन के लिए दिए गए सभी दायरे हटा देता है.
यूज़र इंटरफ़ेस (यूआई) एलिमेंट
gapi.signin2.render(id, options)
options ऑब्जेक्ट में बताई गई सेटिंग का इस्तेमाल करके, दिए गए आईडी वाले एलिमेंट में 'साइन-इन करें' बटन रेंडर करता है.
तर्क | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
id | उस एलिमेंट का आईडी जिसमें 'साइन-इन करें' बटन को रेंडर करना है. | ||||||||||||||||
options |
वह ऑब्जेक्ट जिसमें बटन को रेंडर करने के लिए सेटिंग मौजूद हैं. उदाहरण के लिए:
{ scope: 'email', width: 200, height: 50, longtitle: true, theme: 'dark', onsuccess: handleSuccess, onfailure: handleFailure }ये विकल्प चुने जा सकते हैं:
|
ज़रूरत के हिसाब से तय की गई तारीख की सीमा
gapi.auth2.author(params, callback)
सिर्फ़ एक बार इस्तेमाल किए जाने वाले OAuth 2.0 के इस्तेमाल की अनुमति देता है. इस्तेमाल किए गए पैरामीटर के आधार पर, इससे Google के साइन-इन फ़्लो में एक पॉप-अप खुलेगा या अनुरोध किए गए जवाब को उपयोगकर्ता के इंटरैक्शन के बिना लोड करने की कोशिश की जाएगी.
इस तरीके का इस्तेमाल करने के कुछ उदाहरण यहां दिए गए हैं:
- आपके ऐप्लिकेशन को Google API एंडपॉइंट के लिए सिर्फ़ एक बार अनुरोध करना होगा. उदाहरण के लिए, उपयोगकर्ता के पहली बार साइन इन करने पर उसके पसंदीदा YouTube वीडियो को लोड करने के लिए.
- आपके ऐप्लिकेशन का अपना सेशन मैनेजमेंट इन्फ़्रास्ट्रक्चर होता है और आपके बैकएंड में उपयोगकर्ता की पहचान करने के लिए, इसे सिर्फ़ एक बार आईडी टोकन की ज़रूरत होती है.
- एक ही पेज पर कई Client ID का इस्तेमाल किया जाता है.
तर्क | |
---|---|
params |
एक ऑब्जेक्ट, जिसमें कॉन्फ़िगरेशन डेटा के की-वैल्यू पेयर होते हैं. कॉन्फ़िगर की जा सकने वाली अलग-अलग प्रॉपर्टी के लिए,
gapi.auth2.AuthorizeConfig देखें. उदाहरण के लिए:
{ client_id: 'CLIENT_ID.apps.googleusercontent.com', scope: 'email profile openid', response_type: 'id_token permission' } |
callback |
अनुरोध पूरा होने के बाद या पूरा नहीं हो पाने पर,
gapi.auth2.AuthorizeResponse ऑब्जेक्ट के साथ कॉल किया गया फ़ंक्शन.
|
उदाहरण
gapi.auth2.authorize({
client_id: 'CLIENT_ID.apps.googleusercontent.com',
scope: 'email profile openid',
response_type: 'id_token permission'
}, function(response) {
if (response.error) {
// An error happened!
return;
}
// The user authorized the application for the scopes requested.
var accessToken = response.access_token;
var idToken = response.id_token;
// You can also now use gapi.client to perform authenticated requests.
});
गड़बड़ी कोड
idpiframe_initialization_failed
-
उदाहरण के लिए, काम नहीं करने वाले एनवायरमेंट की वजह से Google से ज़रूरी iframe शुरू नहीं हो सका.
details
प्रॉपर्टी, बताई गई गड़बड़ी के बारे में ज़्यादा जानकारी देगी. popup_closed_by_user
- उपयोगकर्ता ने साइन इन फ़्लो पूरा होने से पहले ही पॉप-अप बंद कर दिया.
access_denied
- उपयोगकर्ता ने ज़रूरी दायरों की अनुमति नहीं दी.
immediate_failed
-
सहमति लेने की प्रोसेस को प्रॉम्प्ट किए बिना, किसी भी उपयोगकर्ता को अपने-आप नहीं चुना जा सकता.
prompt: 'none'
विकल्प के साथsignIn
का इस्तेमाल करते समय गड़बड़ी हुई.
gapi.auth2.AuthorizeConfig
ऐसा इंटरफ़ेस जो gapi.auth2.authorize
तरीके के अलग-अलग कॉन्फ़िगरेशन पैरामीटर दिखाता है.
प्रॉपर्टी | ||
---|---|---|
client_id |
string |
ज़रूरी है. ऐप्लिकेशन का क्लाइंट आईडी, जो Google Developers Console में मिला और बनाया गया था. |
scope |
string |
ज़रूरी है. अनुरोध किए जाने वाले स्कोप, स्पेस के ज़रिए डीलिमिटेड स्ट्रिंग. |
response_type |
string |
स्पेस-डीलिमिटेड रिस्पॉन्स टाइप की सूची. डिफ़ॉल्ट वैल्यू 'permission' होती है. आपको ये वैल्यू दिख सकती हैं:
|
prompt |
string |
सहमति के फ़्लो के लिए, किसी खास मोड को लागू करता है. आपको ये वैल्यू दिख सकती हैं:
|
cookie_policy |
string |
वे डोमेन जिनके लिए साइन-इन कुकी बनानी है. यूआरआई,
single_host_origin या none . कोई जानकारी न होने पर, डिफ़ॉल्ट वैल्यू
single_host_origin होती है.
|
hosted_domain |
string |
वह G Suite डोमेन जिससे उपयोगकर्ताओं को साइन इन करना ज़रूरी है. इसमें क्लाइंट के पास बदलाव हो सकता है. इसलिए, लौटने वाले उपयोगकर्ता की होस्ट की गई डोमेन प्रॉपर्टी की पुष्टि ज़रूर करें. |
login_hint |
string |
उपयोगकर्ता का ईमेल या यूज़र आईडी, जिसे साइन इन फ़्लो में पहले से चुनना है. इसमें उपयोगकर्ता के
बदलाव शामिल हो सकते हैं, जब तक कि prompt: "none" का इस्तेमाल न किया जाए.
|
include_granted_scopes |
boolean |
क्या किसी ऐसे ऐक्सेस टोकन का अनुरोध करना है जिसमें उपयोगकर्ता के
ऐप्लिकेशन को पहले दिए गए सभी दायरे शामिल हों या सिर्फ़ मौजूदा कॉल में अनुरोध किए गए दायरे शामिल हों. डिफ़ॉल्ट वैल्यू true होती है.
|
enable_granular_consent |
boolean |
ज़रूरी नहीं. आपको
ज़्यादा जानकारी वाली अनुमतियां चालू करनी हैं या नहीं. अगर नीति को false पर सेट किया जाता है, तो 2019 से पहले बनाए गए OAuth क्लाइंट आईडी के लिए, Google खाते की ज़्यादा जानकारी वाली अनुमतियां बंद हो जाएंगी. साल 2019 के दौरान या उसके बाद बनाए गए OAuth क्लाइंट आईडी पर कोई असर नहीं पड़ा है. इसकी वजह यह है कि उनके लिए ज़्यादा जानकारी वाली अनुमतियां हमेशा चालू रहती हैं.
|
plugin_name |
string |
ज़रूरी नहीं. अगर क्लाइंट आईडी 29 जुलाई, 2022 से पहले बनाए गए हैं, तो वे
Google प्लैटफ़ॉर्म लाइब्रेरी का इस्तेमाल कर सकते हैं. डिफ़ॉल्ट रूप से, नए बनाए गए Client-ID को प्लैटफ़ॉर्म लाइब्रेरी का इस्तेमाल करने से रोका जाता है.
इसके बजाय, उन्हें Google Identity Services की नई लाइब्रेरी का इस्तेमाल करना चाहिए. कोई भी वैल्यू चुनी जा सकती है. आसानी से पहचान करने के लिए, प्रॉडक्ट या प्लगिन के नाम जैसे जानकारी देने वाले नाम का सुझाव दिया जाता है.
उदाहरण: plugin_name: 'YOUR_STRING_HERE'
|
gapi.auth2.AuthorizeResponse
रिस्पॉन्स, gapi.auth2.authorize
तरीके के कॉलबैक पर वापस चला गया.
प्रॉपर्टी | ||
---|---|---|
access_token |
string |
ऐक्सेस टोकन दिया गया. सिर्फ़ तब मौजूद होता है, जब response_type में permission या token
के बारे में बताया गया हो.
|
id_token |
string |
आईडी टोकन दिया गया. सिर्फ़ तब मौजूद होता है, जब id_token को
response_type में बताया गया हो.
|
code |
string |
प्राधिकरण कोड दिया गया. सिर्फ़ तब मौजूद होता है, जब code को
response_type में बताया गया हो.
|
scope |
string |
ऐक्सेस टोकन में दिए गए दायरे. सिर्फ़ तब मौजूद होता है, जब response_type में permission या
token के बारे में बताया गया हो.
|
expires_in |
number |
ऐक्सेस टोकन की समयसीमा खत्म होने में लगने वाले सेकंड. सिर्फ़ तब मौजूद होता है, जब response_type में permission
या token के बारे में बताया गया हो.
|
first_issued_at |
number |
वह टाइमस्टैंप जब उपयोगकर्ता ने पहली बार अनुरोध किए गए दायरों की अनुमति दी थी. सिर्फ़ तब मौजूद होता है, जब response_type में permission या token के बारे में बताया गया हो.
|
expires_at |
number |
वह टाइमस्टैंप जिस पर ऐक्सेस टोकन की समयसीमा खत्म हो जाएगी. सिर्फ़ तब मौजूद होता है, जब response_type में permission
या token के बारे में बताया गया हो.
|
error |
string |
अनुरोध पूरा न होने पर, इसमें गड़बड़ी कोड शामिल होता है. |
error_subtype |
string |
अनुरोध पूरा न होने पर, इसमें गड़बड़ी के कोड के बारे में ज़्यादा जानकारी भी शामिल हो सकती है. |