इस रेफ़रंस पेज में, Google की ओर से उपलब्ध कराए गए उन एंडपॉइंट और इंटरफ़ेस के बारे में बताया गया है जिनका इस्तेमाल आपका ऐप्लिकेशन, OAuth पर आधारित खाता लिंक करने की प्रोसेस के दौरान करता है.
ज़रूरी शर्तें और स्टैंडर्ड
इन Google एंडपॉइंट के साथ इंटरैक्ट करने के लिए, आपके इंटिग्रेशन को इन मानकों का पालन करना होगा:
- OAuth 2.0: RFC 6749 के मुताबिक.
- JSON Web Tokens (JWT): RFC 7519 के मुताबिक (स्ट्रीमलाइन लिंकिंग और RISC के लिए).
- सुरक्षा इवेंट टोकन: RFC 8417 (आरआईएससी के लिए) के मुताबिक होने चाहिए.
- HTTPS: सभी अनुरोध, सुरक्षित एचटीटीपीएस कनेक्शन के ज़रिए किए जाने चाहिए.
OAuth रीडायरेक्ट यूआरआई
यह वह एंडपॉइंट होता है जहां पुष्टि और सहमति मिलने के बाद, आपकी सेवा उपयोगकर्ता के ब्राउज़र को रीडायरेक्ट करती है. YOUR_PROJECT_ID पाथ पैरामीटर, वह आईडी होता है जिसे रजिस्ट्रेशन के दौरान कॉन्फ़िगर किया जाता है.
- यूआरएल:
https://oauth-redirect.googleusercontent.com/r/YOUR_PROJECT_ID सैंडबॉक्स का यूआरएल:
https://oauth-redirect-sandbox.googleusercontent.com/r/YOUR_PROJECT_IDतरीका:
GET(ब्राउज़र रीडायरेक्ट का इस्तेमाल करके)
अनुरोध के पैरामीटर
उपयोगकर्ता को Google पर वापस रीडायरेक्ट करते समय, पैरामीटर को यूआरएल में जोड़ना ज़रूरी है. इस्तेमाल किए गए OAuth फ़्लो के आधार पर, इन पैरामीटर को क्वेरी स्ट्रिंग (ऑथराइज़ेशन कोड फ़्लो) या यूआरएल फ़्रैगमेंट (इंप्लिसिट फ़्लो) के तौर पर फ़ॉर्मैट किया जाता है.
| पैरामीटर | ब्यौरा |
|---|---|
code |
(ऑथराइज़ेशन कोड फ़्लो के लिए ज़रूरी है) आपकी सेवा से जनरेट किया गया ऑथराइज़ेशन कोड. |
state |
(ज़रूरी है) Google से मिली मूल स्थिति की वैल्यू, जिसमें कोई बदलाव नहीं किया गया है. |
access_token |
(इंप्लिसिट फ़्लो के लिए ज़रूरी है) आपकी सेवा से जनरेट किया गया लंबे समय तक चलने वाला ऐक्सेस टोकन. |
token_type |
(इंप्लिसिट फ़्लो के लिए ज़रूरी है) यह bearer होना चाहिए. |
गड़बड़ी के रिस्पॉन्स
अगर OAuth रीडायरेक्ट यूआरआई का अनुरोध गलत तरीके से किया गया है, तो आपको एचटीटीपी 400 गलत अनुरोध गड़बड़ी का मैसेज मिलेगा. जवाब के मुख्य हिस्से में, इस स्ट्रक्चर वाला JSON ऑब्जेक्ट शामिल होगा:
| फ़ील्ड | ब्यौरा |
|---|---|
sendPostBody |
इससे यह तय होता है कि JS को POST के साथ redirectUri पर रीडायरेक्ट करना चाहिए या नहीं. आम तौर पर, इस स्थिति में false. |
errorMessage |
रीडाइरेक्ट पूरा न होने पर, क्लाइंट को दिखने वाला गड़बड़ी का मैसेज. जो फ़्रैगमेंट मौजूद नहीं हैं उनके लिए, यह "A URI fragment or query string must be set." है |
OAuth 2.0 की गड़बड़ी से जुड़ी प्रतिक्रियाएं
अगर उपयोगकर्ता सहमति नहीं देता है या आपकी सेवा में कोई गड़बड़ी होती है, तो आपकी सेवा को उपयोगकर्ता को OAuth रीडायरेक्ट यूआरआई पर वापस रीडायरेक्ट करना होगा. इसके लिए, स्टैंडर्ड OAuth 2.0 गड़बड़ी के पैरामीटर (जैसे कि error=access_denied) का इस्तेमाल करना होगा. Google इन पैरामीटर को प्रोसेस करेगा और उपयोगकर्ता को गड़बड़ी की सही स्क्रीन दिखाएगा.
RISC API (ज़रूरी नहीं)
इस कुकी का इस्तेमाल आपकी सेवा करती है. इससे Google को पहले से ही सूचना मिल जाती है, जब कोई व्यक्ति RISC प्रोटोकॉल का इस्तेमाल करके, आपके प्लैटफ़ॉर्म पर अपना खाता अनलिंक करता है. इससे यह पक्का किया जाता है कि दोनों प्लैटफ़ॉर्म सिंक रहें.
- यूआरएल:
https://risc.googleapis.com/v1/events:publish - तरीका:
POST - पुष्टि करना: इसके लिए, सही अनुमतियों वाला Google सेवा खाता टोकन ज़रूरी है.
- Content-Type:
application/json
सुरक्षा से जुड़ी गतिविधि के टोकन के दावे
टोकन रद्द करने के इवेंट के बारे में Google को सूचना देने के लिए इस्तेमाल किए जाने वाले सुरक्षा इवेंट टोकन को, इस टेबल में दी गई ज़रूरी शर्तों का पालन करना होगा:
| दावा करें | ब्यौरा |
|---|---|
iss |
जारी करने वाले का दावा: यह एक ऐसा यूआरएल होता है जिसे आपने होस्ट किया है. इसे रजिस्ट्रेशन के दौरान Google के साथ शेयर किया जाता है. |
aud |
ऑडियंस का दावा: इससे यह पता चलता है कि Google, JWT पाने वाला है. इसे google_account_linking पर सेट किया जाना चाहिए. |
jti |
JWT आईडी का दावा: यह एक यूनीक आईडी होता है, जिसे हर सुरक्षा इवेंट टोकन के लिए जनरेट किया जाता है. |
iat |
Issued At Claim: यह एक NumericDate वैल्यू है. इससे पता चलता है कि सुरक्षा से जुड़ा यह इवेंट टोकन कब बनाया गया था. |
toe |
इवेंट के दावे का समय: यह ज़रूरी नहीं है. NumericDate वैल्यू से पता चलता है कि टोकन कब रद्द किया गया था. |
exp |
एक्सपायर होने का समय: इस फ़ील्ड को शामिल न करें, क्योंकि इस सूचना से जुड़ा इवेंट पहले ही हो चुका है. |
events |
सुरक्षा से जुड़े इवेंट का दावा: यह एक JSON ऑब्जेक्ट है. इसमें सिर्फ़ एक टोकन रद्द करने का इवेंट शामिल होना चाहिए. इसमें ये फ़ील्ड शामिल होने चाहिए:
|
फ़ील्ड के टाइप और फ़ॉर्मैट के बारे में ज़्यादा जानने के लिए, JSON वेब टोकन (JWT) देखें
ऐप्लिकेशन फ़्लिप "फ़्लिप-बैक" इंटरफ़ेस
ऐप्लिकेशन फ़्लिप के लिए, आपके मोबाइल ऐप्लिकेशन को Google ऐप्लिकेशन को ऑथराइज़ेशन कोड या ऐक्सेस टोकन भेजना होगा.
Android (Intent Result)
आपके ऐप्लिकेशन को इंटेंट का इस्तेमाल करके खोला गया हो. सहमति मिलने के बाद, यह प्रोसेस पूरी हो जाती है और Google को नतीजे मिल जाते हैं. ज़्यादा जानकारी के लिए, Android के लिए लागू करने से जुड़ी गाइड देखें.
- कार्रवाई:
com.google.android.gms.auth.CODE_AVAILABLE - अन्य:
code,state,access_token,token_type.
iOS (कस्टम यूआरएल स्कीम और यूनिवर्सल लिंक)
आपका ऐप्लिकेशन, कस्टम यूआरएल स्कीम या एचटीटीपीएस यूनिवर्सल लिंक का इस्तेमाल करके Google खोलता है. ज़्यादा जानकारी के लिए, iOS के लिए लागू करने से जुड़ी गाइड देखें.
- फ़ॉर्मैट:
<return_url>?code=AUTHORIZATION_CODE&state=STATE_STRING