Google Account Linking API

इस रेफ़रंस पेज में, Google की ओर से उपलब्ध कराए गए उन एंडपॉइंट और इंटरफ़ेस के बारे में बताया गया है जिनका इस्तेमाल आपका ऐप्लिकेशन, OAuth पर आधारित खाता लिंक करने की प्रोसेस के दौरान करता है.

ज़रूरी शर्तें और स्टैंडर्ड

इन Google एंडपॉइंट के साथ सही तरीके से इंटरैक्ट करने के लिए, आपके इंटिग्रेशन को इन मानकों का पालन करना होगा:

  • OAuth 2.0: RFC 6749 के मुताबिक.
  • JSON वेब टोकन (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 ऑब्जेक्ट है. इसमें सिर्फ़ एक टोकन रद्द करने का इवेंट शामिल होना चाहिए. इसमें ये फ़ील्ड शामिल होने चाहिए:

  • subject_type: इसे oauth_token पर सेट करना होगा.
  • token_type: यह रद्द किए जा रहे टोकन का टाइप है. यह access_token या refresh_token हो सकता है.
  • token_identifier_alg: यह टोकन को कोड में बदलने के लिए इस्तेमाल किया गया एल्गोरिदम है. इसकी वैल्यू hash_SHA512_double होनी चाहिए.
  • token: यह रद्द किए गए टोकन का आईडी है.

फ़ील्ड के टाइप और फ़ॉर्मैट के बारे में ज़्यादा जानने के लिए, JSON वेब टोकन (JWT) देखें

ऐप्लिकेशन फ़्लिप "फ़्लिप-बैक" इंटरफ़ेस

ऐप्लिकेशन फ़्लिप के लिए, आपके मोबाइल ऐप्लिकेशन को Google ऐप्लिकेशन को अनुमति कोड या ऐक्सेस टोकन भेजना होगा.

Android (Intent Result)

आपके ऐप्लिकेशन को इंटेंट का इस्तेमाल करके खोला गया हो. सहमति मिलने के बाद, यह प्रोसेस पूरी हो जाती है और Google को नतीजे मिल जाते हैं. ज़्यादा जानकारी के लिए, Android के लिए लागू करने से जुड़ी गाइड देखें.

  • कार्रवाई: com.google.android.gms.auth.CODE_AVAILABLE
  • अन्य: code, state, access_token, token_type.

आपका ऐप्लिकेशन, कस्टम यूआरएल स्कीम या एचटीटीपीएस यूनिवर्सल लिंक का इस्तेमाल करके Google खोलता है. ज़्यादा जानकारी के लिए, iOS के लिए लागू करने से जुड़ी गाइड देखें.

  • फ़ॉर्मैट: <return_url>?code=AUTHORIZATION_CODE&state=STATE_STRING