इस रेफ़रंस में, 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' जोड़ता है. अगर कोई वैल्यू नहीं दी गई है, तो True. |
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)
currentUser में होने वाले बदलावों को सुनना.
तर्क | |
---|---|
listener |
ऐसा फ़ंक्शन जो GoogleUser पैरामीटर लेता है.
listen , currentUser में किए गए हर बदलाव पर, इस फ़ंक्शन को एक 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 | स्पेस से अलग किए गए स्कोप की स्ट्रिंग. |
रिटर्न | |
---|---|
बूलियन | अगर स्कोप दिए गए हैं, तो True |
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 Platform लाइब्रेरी का इस्तेमाल कर सकते हैं. डिफ़ॉल्ट रूप से, नए बनाए गए क्लाइंट आईडी को प्लैटफ़ॉर्म लाइब्रेरी का इस्तेमाल करने से रोका जाता है. इसके बजाय, उन्हें 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 |
अनुरोध पूरा न होने पर, इसमें गड़बड़ी के कोड के साथ-साथ ज़्यादा जानकारी भी शामिल हो सकती है. |