इस रेफ़रंस में, 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 ऑब्जेक्ट. प्रॉमिस पाने के लिए,
THE() तरीके का इस्तेमाल करें.
यह प्रॉमिस
तब रिज़ॉल्व होगा, जब gapi.auth2.GoogleAuth ऑब्जेक्ट
के शुरू होने के बाद रिज़ॉल्व हो जाएगा.
|
GoogleAuth.फिर(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 API कंसोल में मिला और बनाया गया. |
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 दावे का इस्तेमाल करके पुष्टि करें कि डोमेन वही है जिसकी आपको उम्मीद थी.
|
use_fedcm |
boolean |
ज़रूरी नहीं है. यह डिफ़ॉल्ट रूप से True पर सेट होती है. साइन-इन करने के दौरान, ब्राउज़र FedCM API के इस्तेमाल को चालू या बंद करें. |
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 से पहले बनाए गए नए क्लाइंट आईडी,
Google प्लैटफ़ॉर्म की पुरानी लाइब्रेरी का इस्तेमाल कर सकते हैं.
डिफ़ॉल्ट रूप से, बनाए गए नए क्लाइंट आईडी को अब प्लैटफ़ॉर्म लाइब्रेरी का इस्तेमाल करने से रोक दिया जाता है. इसके बजाय, उन्हें 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.grant ऑफ़लाइनAccess(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()
उपयोगकर्ता के यूनीक आईडी वाली स्ट्रिंग पाएं.
सामान लौटाना | |
---|---|
String | उपयोगकर्ता का यूनीक आईडी |
GoogleUser.isSignedIn()
अगर उपयोगकर्ता साइन इन है, तो 'सही' दिखाता है.
सामान लौटाना | |
---|---|
बूलियन | अगर उपयोगकर्ता ने साइन इन किया है, तो सही |
GoogleUser.getHostedDomain()
अगर उपयोगकर्ता ने G Suite खाते से साइन इन किया है, तो उसका G Suite डोमेन पाएं.
सामान लौटाना | |
---|---|
String | उपयोगकर्ता का G Suite डोमेन |
GoogleUser.getGrantedScopes()
वे दायरे पाएं जो उपयोगकर्ता ने, स्पेस-डीलिमिटेड स्ट्रिंग के तौर पर दिए हैं.
सामान लौटाना | |
---|---|
String | उपयोगकर्ता ने इन दायरों की जानकारी दी है |
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 |
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.Authorize(params, callback)
एक बार के OAuth 2.0 प्राधिकरण का इस्तेमाल करता है. इस्तेमाल किए गए पैरामीटर के आधार पर, इससे Google साइन इन फ़्लो में एक पॉप-अप खुलेगा या उपयोगकर्ता के इंटरैक्शन के बिना, अनुरोध किए गए जवाब को बिना आवाज़ के लोड करने की कोशिश की जाएगी.
इस तरीके का इस्तेमाल करने के कुछ उदाहरण यहां दिए गए हैं:
- आपके ऐप्लिकेशन को Google API एंडपॉइंट से सिर्फ़ एक बार अनुरोध करना होगा. उदाहरण के लिए, पहली बार साइन इन करने पर उपयोगकर्ता के पसंदीदा YouTube वीडियो को लोड करने के लिए.
- आपके ऐप्लिकेशन का अपना सेशन मैनेजमेंट इन्फ़्रास्ट्रक्चर होता है. इसे आपके बैकएंड में उपयोगकर्ता की पहचान करने के लिए, सिर्फ़ एक बार आईडी टोकन की ज़रूरत होती है.
- एक ही पेज में कई क्लाइंट आईडी का इस्तेमाल किया गया है.
तर्क | |
---|---|
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 API कंसोल में मिला और बनाया गया. |
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 प्लैटफ़ॉर्म लाइब्रेरी का इस्तेमाल कर सकते हैं. डिफ़ॉल्ट रूप से, नए क्लाइंट आईडी को प्लैटफ़ॉर्म लाइब्रेरी का इस्तेमाल करने से ब्लॉक किया जाता है. इसके बजाय, उन्हें Google Identity Services की नई लाइब्रेरी का इस्तेमाल करना होगा. आपके पास प्रॉडक्ट या प्लगिन के नाम जैसी जानकारी देने वाला कोई भी वैल्यू चुनने का विकल्प है.
इससे प्रॉडक्ट या प्लगिन को आसानी से पहचाना जा सकता है.
उदाहरण: plugin_name: 'YOUR_STRING_HERE'
|
gapi.auth2.AuthorizeResponse
रिस्पॉन्स, gapi.auth2.authorize
तरीके के कॉलबैक पर
लौटाया गया.
प्रॉपर्टी | ||
---|---|---|
access_token |
string |
ऐक्सेस टोकन दिया गया. यह सिर्फ़ तब मौजूद होता है, जब response_type में permission या token के बारे में
बताया गया हो.
|
id_token |
string |
आईडी टोकन दिया गया. यह सिर्फ़ तब मौजूद होता है, जब response_type में id_token के बारे में बताया गया हो.
|
code |
string |
ऑथराइज़ेशन कोड दिया गया. यह सिर्फ़ तब मौजूद होता है, जब response_type में code के बारे में बताया गया हो.
|
scope |
string |
ऐक्सेस टोकन में दिए गए दायरे. यह सिर्फ़ तब मौजूद होता है, जब response_type में permission या
token के बारे में बताया गया हो.
|
expires_in |
number |
ऐक्सेस टोकन की समयसीमा खत्म होने में लगने वाले सेकंड. यह सिर्फ़ तब मौजूद होता है, जब response_type में permission
या token के बारे में बताया गया हो.
|
first_issued_at |
number |
वह टाइमस्टैंप जब उपयोगकर्ता ने पहली बार अनुरोध किए गए दायरे स्वीकार किए थे. यह सिर्फ़ तब मौजूद होता है, जब
permission या token के बारे में response_type में बताया गया हो.
|
expires_at |
number |
ऐक्सेस टोकन की समयसीमा खत्म होने का टाइमस्टैंप. यह सिर्फ़ तब मौजूद होता है, जब response_type में permission
या token के बारे में बताया गया हो.
|
error |
string |
अनुरोध फ़ेल होने पर, उसमें गड़बड़ी कोड शामिल होता है. |
error_subtype |
string |
अनुरोध फ़ेल होने पर, उसमें गड़बड़ी के कोड के बारे में ज़्यादा जानकारी भी शामिल हो सकती है. |