खातों को इंडस्ट्री स्टैंडर्ड OAuth 2.0 के इंप्लिसिट और ऑथराइज़ेशन कोड फ़्लो का इस्तेमाल करके लिंक किया जाता है. आपकी सेवा, OAuth 2.0 के मुताबिक काम करने वाले ऑथराइज़ेशन और टोकन एक्सचेंज एंडपॉइंट के साथ काम करनी चाहिए.
In the implicit flow, Google opens your authorization endpoint in the user's browser. After successful sign in, you return a long-lived access token to Google. This access token is now included in every request sent from Google.
In the authorization code flow, you need two endpoints:
The authorization endpoint, which presents the sign-in UI to your users that aren't already signed in. The authorization endpoint also creates a short-lived authorization code to record users' consent to the requested access.
The token exchange endpoint, which is responsible for two types of exchanges:
- Exchanges an authorization code for a long-lived refresh token and a short-lived access token. This exchange happens when the user goes through the account linking flow.
- Exchanges a long-lived refresh token for a short-lived access token. This exchange happens when Google needs a new access token because the one it had expired.
Choose an OAuth 2.0 flow
Although the implicit flow is simpler to implement, Google recommends that access tokens issued by the implicit flow never expire. This is because the user is forced to link their account again after a token expires with the implicit flow. If you need token expiration for security reasons, we strongly recommend that you use the authorization code flow instead.
Design guidelines
This section describes the design requirements and recommendations for the user screen that you host for OAuth linking flows. After it's called by Google's app, your platform displays a sign in to Google page and account linking consent screen to the user. The user is directed back to Google's app after giving their consent to link accounts.
Requirements
- You must communicate that the user’s account will be linked to Google, not a specific Google product like Google Home or Google Assistant.
Recommendations
We recommend that you do the following:
Display Google's Privacy Policy. Include a link to Google’s Privacy Policy on the consent screen.
Data to be shared. Use clear and concise language to tell the user what data of theirs Google requires and why.
Clear call-to-action. State a clear call-to-action on your consent screen, such as “Agree and link.” This is because users need to understand what data they're required to share with Google to link their accounts.
Ability to cancel. Provide a way for users to go back or cancel, if they choose not to link.
Clear sign-in process. Ensure that users have clear method for signing in to their Google account, such as fields for their username and password or Sign in with Google.
Ability to unlink. Offer a mechanism for users to unlink, such as a URL to their account settings on your platform. Alternatively, you can include a link to Google Account where users can manage their linked account.
Ability to change user account. Suggest a method for users to switch their account(s). This is especially beneficial if users tend to have multiple accounts.
- If a user must close the consent screen to switch accounts, send a recoverable error to Google so the user can sign in to the desired account with OAuth linking and the implicit flow.
Include your logo. Display your company logo on the consent screen. Use your style guidelines to place your logo. If you wish to also display Google's logo, see Logos and trademarks.
प्रोजेक्ट बनाना
खाता जोड़ने की सुविधा का इस्तेमाल करने के लिए, अपना प्रोजेक्ट बनाएं:
- प्रोजेक्ट बनाएं पर क्लिक करें.
- कोई नाम डालें या जनरेट किए गए सुझाव को स्वीकार करें.
- बचे हुए फ़ील्ड में मौजूद जानकारी की पुष्टि करें या उसमें बदलाव करें.
- बनाएं पर क्लिक करें.
अपना प्रोजेक्ट आईडी देखने के लिए:
- लैंडिंग पेज पर मौजूद टेबल में अपना प्रोजेक्ट ढूंढें. प्रोजेक्ट आईडी, आईडी कॉलम में दिखता है.
OAuth की सहमति वाली स्क्रीन को कॉन्फ़िगर करना
Google खाते को लिंक करने की प्रोसेस में, सहमति वाली एक स्क्रीन शामिल होती है. इसमें लोगों को यह जानकारी मिलती है कि कौन सा ऐप्लिकेशन उनके डेटा को ऐक्सेस करने का अनुरोध कर रहा है, किस तरह का डेटा मांगा जा रहा है, और कौनसी शर्तें लागू होती हैं. Google API क्लाइंट आईडी जनरेट करने से पहले, आपको OAuth की सहमति स्क्रीन को कॉन्फ़िगर करना होगा.
- Google APIs console का OAuth के लिए सहमति देने की स्क्रीन पेज खोलें.
- अगर कहा जाए, तो वह प्रोजेक्ट चुनें जिसे आपने अभी बनाया है.
"OAuth के लिए सहमति वाली स्क्रीन" पेज पर, फ़ॉर्म भरें और “सेव करें” बटन पर क्लिक करें.
ऐप्लिकेशन का नाम: सहमति का अनुरोध करने वाले ऐप्लिकेशन का नाम. नाम से आपके ऐप्लिकेशन के बारे में सही जानकारी मिलनी चाहिए. साथ ही, यह नाम उस नाम से मेल खाना चाहिए जो उपयोगकर्ताओं को ऐप्लिकेशन के अन्य पेजों पर दिखता है. ऐप्लिकेशन का नाम, खाता लिंक करने की सहमति वाली स्क्रीन पर दिखेगा.
ऐप्लिकेशन का लोगो: सहमति स्क्रीन पर मौजूद एक इमेज. इससे उपयोगकर्ताओं को आपके ऐप्लिकेशन की पहचान करने में मदद मिलेगी. यह लोगो, खाता लिंक करने की सहमति स्क्रीन और खाता सेटिंग पर दिखता है
सहायता के लिए ईमेल पता: इससे उपयोगकर्ता, सहमति से जुड़े सवालों के लिए आपसे संपर्क कर सकते हैं.
Google API के लिए स्कोप: स्कोप की मदद से, आपका ऐप्लिकेशन आपके उपयोगकर्ता के निजी Google डेटा को ऐक्सेस कर सकता है. Google खाते को लिंक करने के लिए, डिफ़ॉल्ट स्कोप (ईमेल, प्रोफ़ाइल, openid) काफ़ी है. आपको कोई भी संवेदनशील स्कोप जोड़ने की ज़रूरत नहीं है. आम तौर पर, सबसे सही तरीका यह है कि ऐक्सेस की ज़रूरत पड़ने पर, एक-एक करके स्कोप का अनुरोध किया जाए. ज़्यादा जानें.
अनुमति वाले डोमेन: आपकी और आपके उपयोगकर्ताओं की सुरक्षा के लिए, Google सिर्फ़ उन ऐप्लिकेशन को अनुमति वाले डोमेन का इस्तेमाल करने की अनुमति देता है जो OAuth का इस्तेमाल करके पुष्टि करते हैं. आपके ऐप्लिकेशन के लिंक, आधिकारिक डोमेन पर होस्ट किए जाने चाहिए. ज़्यादा जानें.
ऐप्लिकेशन के होम पेज का लिंक: आपके ऐप्लिकेशन का होम पेज. इसे किसी ऐसे डोमेन पर होस्ट किया जाना चाहिए जिसे अनुमति मिली हो.
ऐप्लिकेशन की निजता नीति का लिंक: यह Google खाते को लिंक करने की सहमति वाली स्क्रीन पर दिखता है. इसे किसी ऐसे डोमेन पर होस्ट किया जाना चाहिए जिसे अनुमति मिली हो.
ऐप्लिकेशन की सेवा की शर्तों का लिंक (ज़रूरी नहीं): इसे किसी आधिकारिक डोमेन पर होस्ट किया जाना चाहिए.
पहली इमेज. Tunery नाम के काल्पनिक ऐप्लिकेशन के लिए, Google खाते को लिंक करने की सहमति वाली स्क्रीन
"पुष्टि की स्थिति" देखें. अगर आपके आवेदन की पुष्टि करना ज़रूरी है, तो "पुष्टि के लिए सबमिट करें" बटन पर क्लिक करके, पुष्टि के लिए अपना आवेदन सबमिट करें. ज़्यादा जानकारी के लिए, OAuth की पुष्टि करने से जुड़ी ज़रूरी शर्तें देखें.
अपना OAuth सर्वर लागू करना
ऑथराइज़ेशन कोड फ़्लो के लागू होने वाले, OAuth 2.0 सर्वर में ये चीज़ें शामिल होती हैं दो एंडपॉइंट होते हैं, जिन्हें आपकी सेवा एचटीटीपीएस के ज़रिए उपलब्ध कराती है. पहला एंडपॉइंट ऑथराइज़ेशन एंडपॉइंट है, जो अलग-अलग डेटा सोर्स को खोजने या हासिल करने के लिए ज़िम्मेदार होता है डेटा ऐक्सेस करने के लिए उपयोगकर्ताओं की सहमति लें. ऑथराइज़ेशन एंडपॉइंट अपने उन उपयोगकर्ताओं के लिए साइन-इन यूज़र इंटरफ़ेस (यूआई) जिनमें पहले से साइन इन नहीं किया है. साथ ही, इनके लिए सहमति रिकॉर्ड करती है का अनुरोध किया गया है. दूसरा एंडपॉइंट, टोकन एक्सचेंज एंडपॉइंट है, जो का इस्तेमाल एन्क्रिप्ट की गई स्ट्रिंग पाने के लिए किया जाता है. इन्हें टोकन कहा जाता है. इनकी मदद से उपयोगकर्ता ये काम कर सकता है: अपनी सेवा ऐक्सेस करें.
जब किसी Google ऐप्लिकेशन को आपकी सेवा के एपीआई में से किसी को कॉल करने की ज़रूरत होती है, तो Google ये एंडपॉइंट एक साथ हैं, ताकि आपके उपयोगकर्ताओं को इन एपीआई को कॉल करने की अनुमति मिल सके को ट्रांसफ़र किया जा सकता है.
Google के शुरू किए गए OAuth 2.0 के ऑथराइज़ेशन कोड के फ़्लो का सेशन नया फ़्लो:
- Google, उपयोगकर्ता के ब्राउज़र में आपका ऑथराइज़ेशन एंडपॉइंट खोलता है. अगर आपको किसी कार्रवाई के लिए, सिर्फ़ वॉइस वाले डिवाइस पर शुरू किया गया है, तो Google फ़ोन पर एक्ज़ीक्यूट किया गया.
- अगर उपयोगकर्ता ने पहले से साइन इन नहीं किया हुआ है, तो वह साइन इन करता है. साथ ही, Google को ये काम करने की अनुमति देता है अगर उन्होंने पहले से अनुमति नहीं दी है, तो आपके एपीआई से उनका डेटा ऐक्सेस करना होगा.
- आपकी सेवा एक ऑथराइज़ेशन कोड बनाती है और उसे Google को वापस भेजती है. ऐसा करें इसलिए, अनुमति कोड की मदद से उपयोगकर्ता के ब्राउज़र को Google पर वापस रीडायरेक्ट करें अनुरोध के साथ अटैच की गई है.
- Google आपके टोकन एक्सचेंज एंडपॉइंट पर ऑथराइज़ेशन कोड भेजता है, जो कोड की प्रामाणिकता की पुष्टि करता है और ऐक्सेस टोकन और रीफ़्रेश टोकन होगा. ऐक्सेस टोकन, कुछ समय के लिए उपलब्ध टोकन होता है. इसे आपकी सेवा एपीआई ऐक्सेस करने के लिए क्रेडेंशियल के तौर पर स्वीकार करता है. रीफ़्रेश टोकन लंबे समय तक इस्तेमाल किया जा सकता है नए ऐक्सेस टोकन को पाने के लिए, Google इस टोकन को सेव और इस्तेमाल कर सकता है. की समयसीमा खत्म होने वाली है.
- उपयोगकर्ता खाता लिंक करने का फ़्लो पूरा करने के बाद, Google से भेजे गए अनुरोध में ऐक्सेस टोकन है.
अनुमति देने के अनुरोधों को मैनेज करना
जब आपको OAuth 2.0 के ऑथराइज़ेशन कोड का इस्तेमाल करके, खाता लिंक करना हो फ़्लो के बाद, Google उपयोगकर्ता को एक अनुरोध के साथ आपके ऑथराइज़ेशन एंडपॉइंट पर भेजता है इसमें ये पैरामीटर शामिल होते हैं:
| ऑथराइज़ेशन एंडपॉइंट पैरामीटर | |
|---|---|
client_id |
वह Client ID जिसे आपने Google को असाइन किया है. |
redirect_uri |
वह यूआरएल जिस पर आपने इस अनुरोध का जवाब भेजा है. |
state |
हिसाब-किताब की ऐसी वैल्यू जो Google को वापस पास की जाती है. हालांकि, इसमें कोई बदलाव नहीं होता रीडायरेक्ट यूआरआई. |
scope |
ज़रूरी नहीं: स्कोप स्ट्रिंग का एक स्पेस-डीलिमिटेड सेट जो वह डेटा जिसके लिए Google अनुमति का अनुरोध कर रहा है. |
response_type |
रिस्पॉन्स में दी जाने वाली वैल्यू का टाइप. OAuth 2.0 के लिए
ऑथराइज़ेशन कोड का फ़्लो, रिस्पॉन्स का टाइप हमेशा code होता है.
|
user_locale |
इस सेटिंग में मौजूद Google खाते की भाषा सेटिंग RFC5646 फ़ॉर्मैट की जानकारी का इस्तेमाल किया जाता है. इसका इस्तेमाल आपके कॉन्टेंट को उपयोगकर्ता की पसंदीदा भाषा में करने के लिए किया जाता है. |
उदाहरण के लिए, अगर आपका ऑथराइज़ेशन एंडपॉइंट यहां उपलब्ध है
https://myservice.example.com/auth, अनुरोध कुछ ऐसा दिख सकता है:
GET https://myservice.example.com/auth?client_id=GOOGLE_CLIENT_ID&redirect_uri=REDIRECT_URI&state=STATE_STRING&scope=REQUESTED_SCOPES&response_type=code&user_locale=LOCALE
अगर आपको साइन-इन करने के अनुरोधों को मैनेज करना है, तो अपने ऑथराइज़ेशन एंडपॉइंट के लिए ये काम करें चरण:
- पुष्टि करें कि
client_id, Google को असाइन किए गए Client-ID से मेल खाता हो. साथ ही,redirect_uriआपकी सेवा के लिए, Google से मिले रीडायरेक्ट यूआरएल से मेल खाता हो. अनुमति न देने के लिए, ये जांच ज़रूरी हैं अनचाहे या गलत तरीके से कॉन्फ़िगर किए गए क्लाइंट ऐप्लिकेशन के ऐक्सेस. अगर आपको कई सारे सॉफ़्टवेयर OAuth 2.0 फ़्लो, यह भी पुष्टि करते हैं किresponse_type,codeहै. - देखें कि उपयोगकर्ता ने आपकी सेवा में साइन इन किया है या नहीं. अगर उपयोगकर्ता ने साइन इन नहीं किया है, अपनी सेवा का साइन-इन या साइन-अप फ़्लो पूरा करें.
- Google के लिए एक ऑथराइज़ेशन कोड जनरेट करें, ताकि वह आपके एपीआई को ऐक्सेस कर सके. ऑथराइज़ेशन कोड कोई भी स्ट्रिंग वैल्यू हो सकता है, लेकिन यह यूनीक होना चाहिए उपयोगकर्ता, टोकन क्लाइंट के लिए, और कोड की समयसीमा खत्म होने की जानकारी का प्रतिनिधित्व करते हैं वह आसानी से समझ में आ जाए. आम तौर पर, आपकी अनुमति लेने की प्रक्रिया शुरू की जाती है जो करीब 10 मिनट बाद खत्म हो जाते हैं.
- पुष्टि करें कि
redirect_uriपैरामीटर से तय किए गए यूआरएल में नीचे दिया गया फ़ॉर्म:https://oauth-redirect.googleusercontent.com/r/YOUR_PROJECT_ID https://oauth-redirect-sandbox.googleusercontent.com/r/YOUR_PROJECT_ID
- उपयोगकर्ता के ब्राउज़र को
redirect_uriपैरामीटर. वह प्राधिकरण कोड शामिल करें रीडायरेक्ट करते समय, अभी-अभी जनरेट की गई और मूल, बिना बदलाव की गई स्थिति की वैल्यूcodeऔरstateपैरामीटर जोड़कर. नीचे दी गई चीज़ें इससे बनने वाले यूआरएल का उदाहरण:https://oauth-redirect.googleusercontent.com/r/YOUR_PROJECT_ID?code=AUTHORIZATION_CODE&state=STATE_STRING
टोकन एक्सचेंज के अनुरोधों को मैनेज करना
आपकी सेवा का टोकन एक्सचेंज एंडपॉइंट, दो तरह के टोकन के लिए ज़िम्मेदार है एक्सचेंज:
- ऐक्सेस टोकन और रीफ़्रेश टोकन के लिए, Exchange के ऑथराइज़ेशन कोड
- ऐक्सेस टोकन के लिए Exchange रीफ़्रेश टोकन
टोकन एक्सचेंज करने के अनुरोधों में ये पैरामीटर शामिल होते हैं:
| टोकन एक्सचेंज एंडपॉइंट पैरामीटर | |
|---|---|
client_id |
एक ऐसी स्ट्रिंग जो अनुरोध के ऑरिजिन की पहचान Google के तौर पर करती है. इस स्ट्रिंग में उन्हें आपके सिस्टम में Google के यूनीक आइडेंटिफ़ायर के तौर पर रजिस्टर किया जाना चाहिए. |
client_secret |
यह एक सीक्रेट स्ट्रिंग है, जिसे आपने अपनी सेवा के लिए Google के साथ रजिस्टर किया है. |
grant_type |
किस टाइप के टोकन की अदला-बदली की जा रही है. यह या तो
authorization_code या refresh_token. |
code |
grant_type=authorization_code होने पर, यह पैरामीटर
यह कोड, Google को आपके साइन इन क्रेडेंशियल या टोकन एक्सचेंज से मिला है
एंडपॉइंट का इस्तेमाल करें. |
redirect_uri |
grant_type=authorization_code होने पर, यह पैरामीटर
यूआरएल की पुष्टि के शुरुआती अनुरोध में इस्तेमाल किया गया यूआरएल. |
refresh_token |
grant_type=refresh_token होने पर, यह पैरामीटर
रीफ़्रेश टोकन, जो Google को आपके टोकन एक्सचेंज एंडपॉइंट से मिला है. |
ऐक्सेस टोकन और रीफ़्रेश टोकन के लिए, Exchange के ऑथराइज़ेशन कोड
उपयोगकर्ता के साइन इन करने के बाद और आपका ऑथराइज़ेशन एंडपॉइंट, कुछ समय के लिए रिटर्न करता है Google को ऑथराइज़ेशन कोड भेजा जाता है, तो Google आपके टोकन एक्सचेंज को एक अनुरोध भेजता है ऐक्सेस टोकन के लिए ऑथराइज़ेशन कोड को एक्सचेंज करने और रीफ़्रेश करने के लिए एंडपॉइंट टोकन.
इन अनुरोधों के लिए, grant_type का मान authorization_code है और
code का मान, उस प्राधिकरण कोड का मान है जो आपने पहले दिया था
अपने Pixel डिवाइस के अनुभव को बेहतर बनाने में मदद करें. एक्सचेंज के अनुरोध का एक उदाहरण नीचे दिया गया है
ऐक्सेस टोकन और रीफ़्रेश टोकन का ऑथराइज़ेशन कोड:
POST /token HTTP/1.1 Host: oauth2.example.com Content-Type: application/x-www-form-urlencoded client_id=GOOGLE_CLIENT_ID&client_secret=GOOGLE_CLIENT_SECRET&grant_type=authorization_code&code=AUTHORIZATION_CODE&redirect_uri=REDIRECT_URI
ऐक्सेस टोकन और रीफ़्रेश टोकन से ऑथराइज़ेशन कोड को एक्सचेंज करने के लिए,
टोकन एक्सचेंज एंडपॉइंट यह प्रोसेस करके, POST अनुरोधों का जवाब देता है
चरण:
- पुष्टि करें कि
client_id, अनुरोध के मूल की पहचान, अनुमति वाले उपयोगकर्ता के तौर पर करता है ऑरिजिन औरclient_secretअनुमानित वैल्यू से मेल खाता हो. - पुष्टि करें कि ऑथराइज़ेशन कोड मान्य है और उसकी समयसीमा खत्म नहीं हुई है. साथ ही, अनुरोध में दिया गया क्लाइंट आईडी, ऑथराइज़ेशन कोड.
- पुष्टि करें कि
redirect_uriपैरामीटर से तय किया गया यूआरएल एक जैसा है में तय सीमा से ज़्यादा नहीं होना चाहिए. - अगर ऊपर दी गई सभी शर्तों की पुष्टि नहीं हो पा रही है, तो एक एचटीटीपी दिखाएं
{"error": "invalid_grant"}के मुख्य भाग के रूप में 400 गलत अनुरोध की गड़बड़ी. - इसके अलावा, रीफ़्रेश जनरेट करने के लिए ऑथराइज़ेशन कोड से मिले यूज़र आईडी का इस्तेमाल करें एक टोकन और ऐक्सेस टोकन है. ये टोकन कोई भी स्ट्रिंग वैल्यू हो सकते हैं, लेकिन यह खास तौर पर उपयोगकर्ता और उस क्लाइंट की जानकारी होनी चाहिए जिसके लिए टोकन दिया गया है. ऐसा होना चाहिए जिससे अनुमान लगाया जा सके. ऐक्सेस टोकन के लिए, ऐक्सेस टोकन के खत्म होने की अवधि भी रिकॉर्ड करें यह टोकन जारी किया जाता है. यह आम तौर पर, टोकन जारी किए जाने के एक घंटे बाद होता है. रीफ़्रेश टोकन की समयसीमा खत्म नहीं होती.
- एचटीटीपीएस रिस्पॉन्स के मुख्य हिस्से में, यहां दिया गया JSON ऑब्जेक्ट दिखाएं:
{ "token_type": "Bearer", "access_token": "ACCESS_TOKEN", "refresh_token": "REFRESH_TOKEN", "expires_in": SECONDS_TO_EXPIRATION }
Google, उपयोगकर्ता और रिकॉर्ड के लिए ऐक्सेस टोकन और रीफ़्रेश टोकन सेव करता है ऐक्सेस टोकन की समय-सीमा खत्म हो जाएगी. ऐक्सेस टोकन की समयसीमा खत्म होने पर, Google रीफ़्रेश टोकन का इस्तेमाल करें, ताकि आप अपने टोकन एक्सचेंज एंडपॉइंट से नया ऐक्सेस टोकन पा सकें.
ऐक्सेस टोकन के लिए Exchange रीफ़्रेश टोकन
ऐक्सेस टोकन की समयसीमा खत्म होने पर, Google आपके टोकन एक्सचेंज को एक अनुरोध भेजता है एंडपॉइंट का इस्तेमाल करें, ताकि नए ऐक्सेस टोकन के लिए रीफ़्रेश टोकन को एक्सचेंज किया जा सके.
इन अनुरोधों के लिए, grant_type का मान refresh_token है और मान
refresh_token का मान उस रीफ़्रेश टोकन का मान है, जिसे आपने पहले कभी अनुमति दी थी
Google. रीफ़्रेश टोकन को एक्सचेंज करने के अनुरोध का एक उदाहरण नीचे दिया गया है
:
POST /token HTTP/1.1 Host: oauth2.example.com Content-Type: application/x-www-form-urlencoded client_id=GOOGLE_CLIENT_ID&client_secret=GOOGLE_CLIENT_SECRET&grant_type=refresh_token&refresh_token=REFRESH_TOKEN
रीफ़्रेश टोकन को ऐक्सेस टोकन से एक्सचेंज करने के लिए, आपका टोकन एक्सचेंज एंडपॉइंट
यह तरीका अपनाकर POST अनुरोधों का जवाब देता है:
- पुष्टि करें कि
client_id, अनुरोध के मूल की पहचान Google के तौर पर करता है, और किclient_secretअनुमानित वैल्यू से मेल खाता है. - पुष्टि करें कि रीफ़्रेश टोकन मान्य है और इसमें क्लाइंट आईडी बताया गया है अनुरोध, रीफ़्रेश टोकन से जुड़े क्लाइंट आईडी से मेल खाता हो.
- अगर ऊपर दी गई सभी शर्तों की पुष्टि नहीं हो पा रही है, तो एचटीटीपी 400 दिखाएं
{"error": "invalid_grant"}के मुख्य भाग के रूप में गलत अनुरोध में गड़बड़ी. - इसके अलावा, ऐक्सेस जनरेट करने के लिए रीफ़्रेश टोकन से मिले यूज़र आईडी का इस्तेमाल करें टोकन. ये टोकन, स्ट्रिंग की कोई भी वैल्यू हो सकती हैं, लेकिन ये यूनीक होने चाहिए टोकन, उपयोगकर्ता और क्लाइंट के लिए हो सकता है. अनुमान लगाया जा सकता है. ऐक्सेस टोकन के लिए, टोकन के खत्म होने की अवधि भी रिकॉर्ड करें, आम तौर पर, टोकन जारी करने के एक घंटे बाद.
- एचटीटीपीएस के मुख्य हिस्से में, यहां दिया गया JSON ऑब्जेक्ट दिखाएं
जवाब:
{ "token_type": "बियरर", "access_token": "ACCESS_TOKEN", "expires_in": SECONDS_TO_EXPIRATION } पर स्विच करने के मकसद से, हमसे संपर्क करने के लिए धन्यवाद.
उपयोगकर्ता की जानकारी के अनुरोधों को मैनेज करना
userinfo एंडपॉइंट, OAuth 2.0 से सुरक्षित किया गया एक ऐसा संसाधन है जो लिंक किए गए उपयोगकर्ता के बारे में दावे दिखाता है. नीचे दिए गए इस्तेमाल के उदाहरणों को छोड़कर, userinfo एंडपॉइंट को लागू और होस्ट करना ज़रूरी नहीं है:
- Google One Tap की मदद से, लिंक किए गए खाते में साइन इन करें.
- AndroidTV पर बिना किसी रुकावट के सदस्यता.
आपके टोकन एंडपॉइंट से ऐक्सेस टोकन पाने के बाद, Google आपके userinfo एंडपॉइंट पर एक अनुरोध भेजता है, ताकि लिंक किए गए उपयोगकर्ता की प्रोफ़ाइल की बुनियादी जानकारी फिर से मिल सके.
| userinfo एंडपॉइंट अनुरोध के हेडर | |
|---|---|
Authorization header |
बेयरर टाइप का ऐक्सेस टोकन. |
उदाहरण के लिए, अगर आपका userinfo एंडपॉइंट यहां उपलब्ध है
https://myservice.example.com/userinfo, अनुरोध कुछ ऐसा दिख सकता है:
GET /userinfo HTTP/1.1 Host: myservice.example.com Authorization: Bearer ACCESS_TOKEN
अपने userinfo एंडपॉइंट पर अनुरोधों को मैनेज करने के लिए यह तरीका अपनाएं:
- ऑथराइज़ेशन हेडर से ऐक्सेस टोकन निकालें और ऐक्सेस टोकन से जुड़े उपयोगकर्ता की जानकारी दिखाएं.
- अगर ऐक्सेस टोकन अमान्य है, तो
WWW-Authenticateरिस्पॉन्स हेडर का इस्तेमाल करके, एचटीटीपी 401 बिना अनुमति वाली गड़बड़ी दिखाएं. नीचे userinfo गड़बड़ी के जवाब का एक उदाहरण दिया गया है: अगर लिंक करने की प्रोसेस के दौरान, बिना अनुमति वाली 401 या गड़बड़ी वाला कोई भी गड़बड़ी का मैसेज मिलता है, तो इस गड़बड़ी को ठीक नहीं किया जा सकेगा. साथ ही, वापस मिले टोकन को खारिज कर दिया जाएगा और उपयोगकर्ता को फिर से लिंक करने की प्रोसेस शुरू करनी होगी.HTTP/1.1 401 Unauthorized WWW-Authenticate: error="invalid_token", error_description="The Access Token expired"
अगर ऐक्सेस टोकन मान्य है, तो वापस जाएं और एचटीटीपीएस के मुख्य हिस्से में, यहां दिए गए JSON ऑब्जेक्ट के साथ एचटीटीपी 200 रिस्पॉन्स भेजें जवाब:
अगर आपका userinfo एंडपॉइंट, एचटीटीपी 200 सक्सेस रिस्पॉन्स देता है, तो हासिल किए गए टोकन और दावे, उपयोगकर्ता के Google खाते से रजिस्टर किए जाते हैं.{ "sub": "USER_UUID", "email": "EMAIL_ADDRESS", "given_name": "FIRST_NAME", "family_name": "LAST_NAME", "name": "FULL_NAME", "picture": "PROFILE_PICTURE", }userinfo एंडपॉइंट रिस्पॉन्स subएक यूनीक आईडी, जो आपके सिस्टम में उपयोगकर्ता की पहचान करता है. emailउपयोगकर्ता का ईमेल पता. given_nameज़रूरी नहीं: उपयोगकर्ता का नाम. family_nameज़रूरी नहीं: उपयोगकर्ता का सरनेम. nameज़रूरी नहीं: उपयोगकर्ता का पूरा नाम. pictureज़रूरी नहीं: उपयोगकर्ता की प्रोफ़ाइल फ़ोटो.
लागू करने की पुष्टि करना
OAuth 2.0 Playground टूल का इस्तेमाल करके, पुष्टि की जा सकती है कि आपने OAuth 2.0 को सही तरीके से लागू किया है या नहीं.
टूल में, नीचे दिया गया तरीका अपनाएं:
- OAuth 2.0 कॉन्फ़िगरेशन विंडो खोलने के लिए, कॉन्फ़िगरेशन पर क्लिक करें.
- OAuth फ़्लो फ़ील्ड में, क्लाइंट-साइड चुनें.
- OAuth एंडपॉइंट फ़ील्ड में, कस्टम चुनें.
- अपने OAuth 2.0 एंडपॉइंट और उस क्लाइंट आईडी की जानकारी दें जिसे आपने Google को असाइन किया है. इसके लिए, दिए गए फ़ील्ड का इस्तेमाल करें.
- पहला चरण सेक्शन में, Google का कोई स्कोप न चुनें. इसके बजाय, इस फ़ील्ड को खाली छोड़ दें या अपने सर्वर के लिए मान्य स्कोप टाइप करें. अगर OAuth स्कोप का इस्तेमाल नहीं किया जा रहा है, तो कोई भी स्ट्रिंग टाइप करें. इसके बाद, एपीआई को अनुमति दें पर क्लिक करें.
- दूसरे चरण और तीसरा सेक्शन में, OAuth 2.0 फ़्लो देखें और पुष्टि करें कि हर चरण आपके हिसाब से काम कर रहा हो.
Google खाते को लिंक करने के डेमो टूल का इस्तेमाल करके, पुष्टि की जा सकती है कि आपने इसे सही तरीके से लागू किया है या नहीं.
टूल में, नीचे दिया गया तरीका अपनाएं:
- Google से साइन इन करें बटन पर क्लिक करें.
- वह खाता चुनें जिसे आपको लिंक करना है.
- सेवा आईडी डालें.
- इसके अलावा, एक या उससे ज़्यादा ऐसे स्कोप डालें जिनके लिए आपको ऐक्सेस का अनुरोध करना है.
- डेमो शुरू करें पर क्लिक करें.
- जब कहा जाए, तब पुष्टि करें कि आपके पास खाते को लिंक करने के अनुरोध को स्वीकार और अस्वीकार करने का विकल्प है.
- पुष्टि करें कि आपको अपने प्लैटफ़ॉर्म पर रीडायरेक्ट किया गया है.