इस रेफ़रंस में 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' } |
Returns | |
---|---|
gapi.auth2.GoogleAuth |
gapi.auth2.GoogleAuth ऑब्जेक्ट. ऐसा प्रॉमिस पाने के लिए
then() तरीके का इस्तेमाल करें
जो gapi.auth2.GoogleAuth ऑब्जेक्ट के शुरू होने के बाद रिज़ॉल्व किया जाता है.
|
GoogleAuth.then(onInit, onError)
GoogleAuth
ऑब्जेक्ट के पूरी तरह से शुरू होने पर, onInit फ़ंक्शन को कॉल करता है. अगर शुरू करते समय कोई गड़बड़ी दिखती है (ऐसा पुराने ब्राउज़र में हो सकता है), तो
onError फ़ंक्शन को कॉल किया जाएगा.
तर्क | |
---|---|
onInit |
पूरी तरह से शुरू होने पर, GoogleAuth ऑब्जेक्ट के साथ कॉल किया जाने वाला फ़ंक्शन.
|
onError |
अगर GoogleAuth शुरू नहीं हो पाया, तो error प्रॉपर्टी वाले ऑब्जेक्ट के साथ कॉल किया गया फ़ंक्शन.
|
Returns | |
---|---|
वादा | ऐसा 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 , वह मौजूदा यूआरएल है जिसे क्वेरी पैरामीटर और हैश फ़्रैगमेंट से हटा दिया जाता है.
|
plugin_name |
string |
ज़रूरी नहीं. अगर इस वैल्यू को सेट किया जाता है, तो 29 जुलाई, 2022 से पहले बनाए गए नए क्लाइंट आईडी, Google प्लैटफ़ॉर्म की पुरानी लाइब्रेरी का इस्तेमाल कर सकते हैं.
डिफ़ॉल्ट रूप से, नए बनाए गए Client-ID को अब प्लैटफ़ॉर्म लाइब्रेरी का इस्तेमाल करने से रोक दिया जाता है. इसके बजाय, उन्हें Google Identity Services की नई लाइब्रेरी का इस्तेमाल करना होगा. कोई भी वैल्यू चुनी जा सकती है. आसानी से पहचान करने के लिए, प्रॉडक्ट या प्लगिन के नाम जैसे जानकारी देने वाले नाम का सुझाव दिया जाता है.
उदाहरण: plugin_name: 'YOUR_STRING_HERE'
|
पुष्टि करना
GoogleAuth
सिंगलटन क्लास है. इसकी मदद से, उपयोगकर्ता किसी Google खाते में साइन इन कर सकते हैं, उपयोगकर्ता के साइन इन की मौजूदा स्थिति के बारे में जान सकते हैं, उपयोगकर्ता की Google प्रोफ़ाइल से खास डेटा पा सकते हैं, अतिरिक्त दायरों का अनुरोध कर सकते हैं, और मौजूदा खाते से साइन आउट कर सकते हैं.
gapi.auth2.getAuthइंस्टेंस()
GoogleAuth
ऑब्जेक्ट दिखाता है. इस तरीके को कॉल करने से पहले, आपको GoogleAuth
ऑब्जेक्ट को gapi.auth2.init()
के साथ शुरू करना होगा.
Returns | |
---|---|
gapi.auth2.GoogleAuth |
gapi.auth2.GoogleAuth ऑब्जेक्ट. gapi.auth2.GoogleAuth के तरीकों को कॉल करने के लिए,
इस ऑब्जेक्ट का इस्तेमाल करें.
|
GoogleAuth.isSignedIn.get()
यह बताता है कि मौजूदा उपयोगकर्ता ने फ़िलहाल साइन इन किया है या नहीं.
Returns | |
---|---|
बूलियन |
अगर उपयोगकर्ता ने साइन इन किया हुआ है, तो true . इसके अलावा, अगर उपयोगकर्ता ने
साइन आउट किया हुआ है या GoogleAuth ऑब्जेक्ट
शुरू नहीं किया गया है, तो false .
|
GoogleAuth.isSignedIn.listen(listener)
मौजूदा उपयोगकर्ता की साइन-इन की स्थिति में हुए बदलावों के लिए सुनें.
तर्क | |
---|---|
listener |
बूलियन वैल्यू लेने वाला फ़ंक्शन. जब उपयोगकर्ता साइन इन करता है, तब listen() इस फ़ंक्शन को true देता है और जब उपयोगकर्ता साइन आउट करता है, तो false पास होता है.
|
GoogleAuth.signIn()
gapi.auth2.init()
के लिए दिए गए विकल्पों से उपयोगकर्ता को साइन इन करता है.
Returns | |
---|---|
वादा | ऐसा Promise जो GoogleUser इंस्टेंस के साथ पूरा किया जाता है. ऐसा तब होता है, जब उपयोगकर्ता अनुरोध किए गए दायरों की पुष्टि करता है और उनके लिए अनुरोध करता है. इसके अलावा, अगर कोई गड़बड़ी हुई हो, तो error प्रॉपर्टी वाले ऑब्जेक्ट के साथ अस्वीकार किया गया (गड़बड़ी कोड के लिए नीचे देखें). |
गड़बड़ी कोड
GoogleAuth.signIn(options)
देखें.
GoogleAuth.signIn(options)
बताए गए विकल्पों का इस्तेमाल करके उपयोगकर्ता को साइन इन करता है.
तर्क | |
---|---|
options |
इनमें से कोई एक:
|
Returns | |
---|---|
वादा | ऐसा 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()
ऐप्लिकेशन से मौजूदा खाते को साइन आउट कर देता है.
Returns | |
---|---|
वादा | Promise , जो उपयोगकर्ता के साइन आउट होने के बाद पूरा होता है. |
GoogleAuth.disconnect()
उपयोगकर्ता के दिए गए सभी दायरे निरस्त करता है.
GoogleAuth.grantOfflineAccess(options)
तय किए गए दायरों को ऑफ़लाइन ऐक्सेस करने के लिए, उपयोगकर्ता से अनुमति लें.
तर्क | |
---|---|
options |
एक gapi.auth2.OfflineAccessOptions ऑब्जेक्ट, जिसमें पैरामीटर के की-वैल्यू पेयर होते हैं. उदाहरण के लिए: { scope: 'profile email' } |
Returns | |
---|---|
वादा | ऐसा 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.ऑफ़लाइन ऐक्सेस विकल्प
ऐसा इंटरफ़ेस जो 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()
का इस्तेमाल करें.
Returns | |
---|---|
GoogleUser |
मौजूदा उपयोगकर्ता |
GoogleAuth.currentUser.listen(listener)
मौजूदा उपयोगकर्ता में हुए बदलावों को सुनें.
तर्क | |
---|---|
listener |
GoogleUser पैरामीटर लेने वाला फ़ंक्शन.
listen , currentUser में बदलाव करने वाले हर बदलाव पर, इस फ़ंक्शन को एक GoogleUser
इंस्टेंस पास करता है.
|
GoogleUser.getId()
उपयोगकर्ता की यूनीक आईडी स्ट्रिंग पाएं.
Returns | |
---|---|
String | उपयोगकर्ता का यूनीक आईडी |
GoogleUser.isSignedIn()
अगर उपयोगकर्ता ने साइन इन किया हुआ है, तो 'सही' दिखाता है.
Returns | |
---|---|
बूलियन | अगर उपयोगकर्ता ने साइन इन किया हुआ है, तो सही है |
GoogleUser.getHostedDomain()
अगर उपयोगकर्ता ने G Suite खाते से साइन इन किया है, तो उपयोगकर्ता का G Suite डोमेन पाएं.
Returns | |
---|---|
String | उपयोगकर्ता का G Suite डोमेन |
GoogleUser.getGrantedScopes()
वे स्कोप पाएं जिन्हें उपयोगकर्ता ने स्पेस-डीलिमिटेड स्ट्रिंग के तौर पर दिया है.
Returns | |
---|---|
String | उपयोगकर्ता के दिए गए दायरे |
GoogleUser.getBasicProfile()
उपयोगकर्ता की प्रोफ़ाइल की बुनियादी जानकारी पाना.
Returns | |
---|---|
gapi.auth2.BasicProfile |
gapi.auth2.BasicProfile की प्रॉपर्टी को फिर से पाने के लिए, इन तरीकों का इस्तेमाल किया जा सकता है:
|
GoogleUser.getAuthResponse(शामिलऑथराइज़ेशनडेटा)
उपयोगकर्ता के पुष्टि करने वाले सेशन से रिस्पॉन्स ऑब्जेक्ट पाएं.
तर्क | |
---|---|
includeAuthorizationData | ज़रूरी नहीं: एक बूलियन जो यह तय करता है कि हमेशा ऐक्सेस टोकन और स्कोप दिखाना है या नहीं. डिफ़ॉल्ट रूप से, जब fetch_basic_profile 'सही' (डिफ़ॉल्ट वैल्यू) पर सेट होता है और किसी अतिरिक्त दायरे का अनुरोध
नहीं किया जाता, तो ऐक्सेस टोकन और अनुरोध किए गए स्कोप
नहीं दिखाए जाते. |
Returns | |
---|---|
gapi.auth2.AuthResponse |
एक gapi.auth2.AuthResponse ऑब्जेक्ट. |
GoogleUser.reloadAuthResponse()
ऐक्सेस टोकन को रीफ़्रेश करने के लिए बाध्य करता है और फिर नए AuthResponse के लिए Promise मिलता है.
Returns | |
---|---|
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 | स्कोप की स्पेस-डीलिमिटेड स्ट्रिंग. |
Returns | |
---|---|
बूलियन | अगर दायरे दिए गए हों, तो सही है |
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.author(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 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 होती है.
|
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 |
अनुरोध के पूरा न होने पर, इसमें गड़बड़ी के कोड के लिए अतिरिक्त जानकारी भी शामिल हो सकती है. यह जानकारी, गड़बड़ी के कोड के तौर पर भी दिख सकती है. |