इस रेफ़रंस में, JavaScript क्लाइंट के उन तरीकों और एट्रिब्यूट के बारे में बताया गया है जिनका इस्तेमाल करके, अपने वेब ऐप्लिकेशन में Google साइन-इन को लागू किया जा सकता है.
अगर लाइब्रेरी का इस्तेमाल करते समय आपको कोई समस्या आती है, तो उसकी शिकायत हमारे GitHub रिपॉज़िटरी पर करें. .
पुष्टि करने की सुविधा सेट अप करना
gapi
ऑब्जेक्ट बनाने के लिए, Google APIs प्लैटफ़ॉर्म लाइब्रेरी लोड करें:
<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 ऑब्जेक्ट. gapi.auth2.GoogleAuth ऑब्जेक्ट के शुरू होने के बाद रिज़ॉल्व होने वाला प्रॉमिस पाने के लिए,
then() मेथड का इस्तेमाल करें.
|
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 API Console में मिलता है और बनाया जाता है. |
cookie_policy |
string |
वे डोमेन जिनके लिए साइन इन कुकी बनानी हैं. यूआरआई,
single_host_origin या none . अगर कोई वैल्यू नहीं दी गई है, तो डिफ़ॉल्ट रूप से
single_host_origin सेट हो जाती है. |
scope |
string |
स्पेस से अलग किए गए स्ट्रिंग के तौर पर, अनुरोध करने के लिए दायरे. अगर fetch_basic_profile को 'गलत है' पर सेट नहीं किया गया है, तो ज़रूरी नहीं है. |
fetch_basic_profile |
boolean |
उपयोगकर्ताओं के साइन इन करने पर, उनकी प्रोफ़ाइल की बुनियादी जानकारी फ़ेच करें. अनुरोध किए गए स्कोप में 'profile', 'email', और '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 से पहले बनाए गए नए Client-ID, Google Platform की पुरानी लाइब्रेरी का इस्तेमाल कर सकते हैं.
डिफ़ॉल्ट रूप से, नए क्लाइंट आईडी को अब Platform Library का इस्तेमाल करने से ब्लॉक कर दिया गया है. इसके बजाय, उन्हें 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 , अगर उपयोगकर्ता ने साइन इन किया है या false , अगर उपयोगकर्ता ने साइन आउट किया है या GoogleAuth ऑब्जेक्ट को शुरू नहीं किया गया है.
|
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()
अगर उपयोगकर्ता साइन इन है, तो यह 'सही' दिखाता है.
रिटर्न | |
---|---|
बूलियन | अगर उपयोगकर्ता साइन इन है, तो True |
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 |
OAuth टोकन को फिर से लोड करने पर, Promise को फिर से लोड किए गए
gapi.auth2.AuthResponse से पूरा किया जाता है.
|
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.grantOfflineAccess(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 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 प्लैटफ़ॉर्म लाइब्रेरी का इस्तेमाल कर सकते हैं. डिफ़ॉल्ट रूप से, नए बनाए गए क्लाइंट आईडी को प्लैटफ़ॉर्म लाइब्रेरी का इस्तेमाल करने से रोका जाता है. इसके बजाय, उन्हें 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 |
अनुरोध पूरा न होने पर, इसमें गड़बड़ी के कोड के साथ-साथ ज़्यादा जानकारी भी शामिल हो सकती है. |