OAuth पर आधारित 'Google साइन इन' "व्यवस्थित करें" लिंक करने के कॉन्सेप्ट की गाइड

OAuth पर आधारित 'Google साइन इन' का "आसान" लिंक करने का तरीका, सबसे ऊपर 'Google साइन-इन' जोड़ देता है OAuth की मदद से खाता लिंक करना. अगर आपकी सेट की गई कार्रवाई में इस तरह का लिंक इस्तेमाल किया जाता है, तो फ़्लो की शुरुआत 'Google साइन-इन' से होती है. इसकी मदद से, यह देखा जा सकता है कि प्रोफ़ाइल जानकारी आपके सिस्टम में मौजूद है. अगर ऐसा नहीं होता, तो स्टैंडर्ड OAuth फ़्लो शुरू होता है. इन दो लिंकिंग टाइप को मिलाकर, आपके उपयोगकर्ता आपकी कार्रवाई में अपनी पहचान Google या गैर-Google खाते से जोड़ सकते हैं. अगर आपने वे चाहें, तो Google प्रोफ़ाइल से नया खाता बना सकते हैं जानकारी.

हमारा सुझाव है कि खाता लिंक करने के लिए, बेहतर तरीके से लिंक करने की सुविधा का इस्तेमाल करें. ऐसा सिर्फ़ तब किया जा सकता है, जब: ये बातें लागू होती हैं:

  • आपके पास एक ऐसी कार्रवाई है जो कई प्लैटफ़ॉर्म पर उपलब्ध है (उदाहरण के लिए, अगर कार्रवाई, Android ऐप्लिकेशन के साथ काम करती है).
  • आपके पास पुष्टि करने का एक सिस्टम मौजूद है और आपको उपयोगकर्ताओं को ये काम करने की अनुमति देनी है Google से बाहर के खातों से अपनी पहचान को लिंक कर सकती है. उदाहरण के लिए, अगर आपके पास और वह यह पक्का करना चाहता है कि उपयोगकर्ता अपने मौजूदा खाते में मिले पॉइंट.

यह पुष्टि करने के लिए कि व्यवस्थित तरीके से लिंक करना आपके लिए सही समाधान है, देखें अपना खाता लिंक करने का टाइप चुनें पेज.

मुख्य शब्द

बेहतर तरीके से लिंक करने की सुविधा कैसे काम करती है, इस बारे में जानने से पहले, यह जान लें कि और इन नियमों और शर्तों को पूरा करें:

  • Google आईडी टोकन: उपयोगकर्ता की पहचान का हस्ताक्षर किया गया दावा, जिसमें यह शामिल है किसी उपयोगकर्ता की Google प्रोफ़ाइल की बुनियादी जानकारी (उसका नाम, ईमेल पता, और प्रोफ़ाइल फ़ोटो). Google आईडी टोकन JSON वेब टोकन (JWT). डिकोड किए गए टोकन का एक उदाहरण नीचे दिया गया है:
{
  "sub": 1234567890,        // The unique ID of the user's Google Account
  "iss": "https://accounts.google.com",        // The token's issuer
  "aud": "123-abc.apps.googleusercontent.com", // Client ID assigned to your Actions project
  "iat": 233366400,         // Unix timestamp of the token's creation time
  "exp": 233370000,         // Unix timestamp of the token's expiration time
  "name": "Jan Jansen",
  "given_name": "Jan",
  "family_name": "Jansen",
  "email": "jan@gmail.com", // If present, the user's email address
  "locale": "en_US"
}
  • user.verificationStatus: एक प्रॉपर्टी जिसे सिस्टम, यह बताने के लिए सेट करता है कि मौजूदा सेशन में एक ऐसा उपयोगकर्ता है जिसकी पुष्टि हो चुकी है.

  • user.accountLinkingStatus: एक प्रॉपर्टी जिसे सिस्टम, यह बताने के लिए सेट करता है कि मौजूदा सेशन के उपयोगकर्ता की पहचान लिंक की गई है.

  • खाता लिंक करने वाला सिस्टम सीन: पहले से तय किया गया एक सीन, जो पुष्टि करने की प्रक्रिया को लागू करता है फ़्लो के बारे में जानकारी मिलेगी. साथ ही, इसे कुछ खास तरह के मामलों में ज़रूरत के मुताबिक बनाया जा सकता है.

  • ऑथराइज़ेशन कोड फ़्लो: ऐसा OAuth 2.0 फ़्लो जिसे आपके साथ लागू किया जा सकता है बेहतर तरीके से लिंक करने की सुविधा. इस फ़्लो के लिए दो एंडपॉइंट ज़रूरी हैं:

    • ऑथराइज़ेशन एंडपॉइंट: वह एंडपॉइंट जो साइन-इन यूज़र इंटरफ़ेस (यूआई) दिखाता है साइन इन नहीं किया हुआ है. यह उन सहमति को रिकॉर्ड करता है ने कुछ समय के लिए मान्य ऑथराइज़ेशन कोड के तौर पर ऐक्सेस का अनुरोध किया हो.
    • टोकन एक्सचेंज एंडपॉइंट: यह एंडपॉइंट दो तरह के लिए ज़िम्मेदार है एक्सचेंज के:
      1. यह नीति, लंबे समय से काम करने वाले रीफ़्रेश टोकन के लिए ऑथराइज़ेशन कोड को शेयर करती है और थोड़े समय तक चलने वाले ऐक्सेस टोकन की ज़रूरत होगी. यह एक्सचेंज तब होता है, जब उपयोगकर्ता खाता जोड़ने के फ़्लो से गुज़रता है.
      2. यह कुछ समय के लिए उपलब्ध ऐक्सेस के लिए, लंबे समय तक चलने वाले रीफ़्रेश टोकन का लेन-देन करता है टोकन. यह एक्सचेंज तब होता है, जब Google को नए ऐक्सेस टोकन की ज़रूरत होती है क्योंकि जिसकी समयसीमा खत्म हो चुकी थी.
  • इंप्लिसिट कोड फ़्लो: एक OAuth 2.0 फ़्लो, जिसे इसके साथ लागू किया जा सकता है बेहतर तरीके से लिंक करने की सुविधा. इस फ़्लो के लिए सिर्फ़ एक ऑथराइज़ेशन एंडपॉइंट ज़रूरी है. इस फ़्लो के दौरान, Google आपका ऑथराइज़ेशन एंडपॉइंट उपयोगकर्ता के ब्राउज़र खोलें. अगर साइन-इन सफल होता है, तो लंबे समय तक चलने वाला ऐक्सेस टोकन Google. यह ऐक्सेस टोकन, अब इनसे भेजे जाने वाले हर अनुरोध में शामिल होता है Assistant की मदद से अपने काम में मदद पाएँ.

  • ऐक्सेस टोकन: एक टोकन, जो आपकी सेवा को उपयोगकर्ता का डेटा है. ऐक्सेस टोकन हर उपयोगकर्ता से जुड़े होते हैं.

  • रीफ़्रेश टोकन: एक टोकन जिसे कुछ समय के लिए उपलब्ध ऐक्सेस टोकन की समयसीमा खत्म हो गई है.

ज़रूरी शर्तें

लिंक करने के आसान तरीके का इस्तेमाल करने के लिए, आपको इनकी ज़रूरत होगी:

  • OAuth 2.0 सर्वर
  • टोकन एक्सचेंज एंडपॉइंट

    टोकन एक्सचेंज एंडपॉइंट को बढ़ाया जाना चाहिए, ताकि Google के साथ काम किया जा सके किसी आईडी टोकन से अपने-आप लिंक होने और खाता बनाने के लिए प्रोटोकॉल (यानी, अनुरोधों में intent=get और intent=create पैरामीटर जोड़ें यह एंडपॉइंट).

यह कैसे काम करता है

इस सेक्शन में, आसानी से लिंक करने की प्रोसेस के बारे में बताया गया है. नीचे दिए गए सेक्शन में, लिंक करने के आसान फ़्लो में बताया गया है आपकी विज्ञापन सेटिंग के आधार पर, अपनी आवाज़ के ज़रिए खाता बनाना और b) चाहे आप ऑथराइज़ेशन कोड फ़्लो.

बुनियादी फ़्लो इस तरह से है:

  1. आपकी सेट की गई कार्रवाई, उपयोगकर्ता से Google पर अपनी प्रोफ़ाइल ऐक्सेस करने की सहमति मांगती है.
  2. उपयोगकर्ता की सहमति के बाद, आपकी कार्रवाई को एक Google आईडी टोकन मिलता है जो उपयोगकर्ता की Google प्रोफ़ाइल की जानकारी होती है.
  3. प्रोफ़ाइल का कॉन्टेंट पढ़ने के लिए, आपको टोकन की पुष्टि करनी होगी और उसे डिकोड करना होगा.
  4. आपका Action इस टोकन का इस्तेमाल यह देखने के लिए करता है कि उपयोगकर्ता की Google प्रोफ़ाइल है या नहीं आपके सिस्टम में जानकारी मौजूद होती है.
    1. अगर ऐसा होता है, तो उपयोगकर्ता ने पहले ही अपने सिस्टम के साथ आपके सिस्टम में साइन इन किया हुआ है Google खाते और Assistant, उपयोगकर्ता की पहचान को Google खाता. उपयोगकर्ता इनसे बातचीत जारी रख सकता है Assistant के साथ अपना खाता लिंक करें.
    2. अगर ऐसा नहीं होता, तो पांचवां चरण देखें.
  5. उपयोगकर्ता इनमें से कोई एक काम कर सकता है: a) अपनी Google प्रोफ़ाइल का इस्तेमाल करके नया खाता बना सकता है जानकारी या b) किसी दूसरे खाते से अपने सिस्टम में साइन इन करें. कॉन्टेंट बनाने लोगों को मिलने वाले विकल्प अलग-अलग होते हैं. ये विकल्प इस बात पर निर्भर करते हैं कि आपने चालू किया है या नहीं ध्वनि से खाता बनाना अक्षम करें. अगर उपयोगकर्ता आपकी ओर से सिस्टम से साइन इन किया है, तो स्टैंडर्ड OAuth फ़्लो शुरू हो जाता है.
  6. जब उपयोगकर्ता नया खाता बनाता है या सेवा देने वाली किसी दूसरी कंपनी के प्लैटफ़ॉर्म पर साइन इन करता है, आपकी सेवा, Google को ऐक्सेस टोकन दिखाती है. (अगर आप ऑथराइज़ेशन कोड फ़्लो, आपकी सेवा रीफ़्रेश टोकन भी दिखाती है.)
  7. उपयोगकर्ता अब Assistant के साथ बातचीत को आगे की कार्रवाई के लिए, खाता लिंक किया गया.

लिंक करने के आसान फ़्लो

इस सेक्शन में, अलग-अलग तरह के फ़्लो की जानकारी दी गई है. ये फ़्लो, बेहतर तरीके से लिंक करने पर हो सकते हैं. ये डायग्राम, ऑथराइज़ेशन कोड फ़्लो के साथ होने वाले फ़्लो पर जाते हैं इंप्लिसिट कोड फ़्लो का इस्तेमाल करने से बेहतर होगा और यह मान लीजिए कि आप Actions Builder का इस्तेमाल कर रहे हैं.

उपयोगकर्ता के आपकी सेट की गई कार्रवाई को शुरू करने के बाद, हर फ़्लो में ये सामान्य चरण शामिल होते हैं:

ऊपर दिए गए फ़्लो में, आपको खाता लिंक करने के सिस्टम सीन पर जाना होगा और वजह चुनें. इस सीन में, उपयोगकर्ता से ऐक्सेस करने की अनुमति मांगी गई है Google पर मौजूद उनकी प्रोफ़ाइल की जानकारी. उपयोगकर्ता की सहमति के बाद, Assistant एक अनुरोध जिसमें user@gmail.com की प्रोफ़ाइल जानकारी शामिल है.

इस चरण के बाद के फ़्लो इस आधार पर अलग-अलग होते हैं कि आपने खाता कॉन्फ़िगर किया है या नहीं Voice के साथ लिंक करने की सुविधा मिलती है. साथ ही, यह भी बताया जाता है कि उपयोगकर्ता की जानकारी पहले से ही आपके Merchant Center खाते में मौजूद है या नहीं सिस्टम. इन सभी फ़्लो के बारे में नीचे दिए गए सेक्शन में बताया गया है.

आवाज़ खाता बनाने की सुविधा चालू होने पर आने वाली फ़्लो

इस सेक्शन में, खाता लिंक करने के फ़्लो की जानकारी दी गई है. खाता लिंक करने की प्रोसेस चालू करने पर वॉइस के ज़रिए खाता बनाने की सुविधा मिलती है.

फ़्लो 1: उपयोगकर्ता की जानकारी आपके सिस्टम में मौजूद होती है

इस मामले में, user@gmail.com का इस्तेमाल करने वाला उपयोगकर्ता आपके बैकएंड में मौजूद है, इस तरह आपका टोकन एक्सचेंज एंडपॉइंट, उपयोगकर्ता के लिए टोकन दिखाता है. उपयोगकर्ता का आपकी सेट की गई कार्रवाई में पहचान को अब उनके Google खाते से लिंक कर दिया गया है. उपयोगकर्ता का ओरिजनल अनुरोध (“सामान्य तौर पर ऑर्डर करें”), उपयोगकर्ता के इंटेंट order_drink. से मेल खाता है इसके बाद, आपका वेबहुक, मैच होने वाले इंटेंट को पूरा करने का काम करता है और आपकी क्वेरी user@gmail.com के आम तौर पर किए जाने वाले ऑर्डर का डेटाबेस. इसके बाद उपयोगकर्ता, अपने Assistant से बातचीत करें.

फ़्लो 2: उपयोगकर्ता की जानकारी मौजूद नहीं है और उपयोगकर्ता खाता बनाता है

क्योंकि आपने आवाज़ से खाता बनाने की सुविधा चालू की है, लेकिन user@gmail.com में यह सुविधा नहीं है आपके बैकएंड में मौजूद हो, तो Assistant उपयोगकर्ता से पूछती है कि उसे ऐसा करना है या नहीं इनमें से कोई एक:

a) उनकी Google प्रोफ़ाइल की जानकारी का इस्तेमाल करके, अपने सिस्टम पर नया खाता बनाएं, जो आवाज़ के ज़रिए पूरा किया जाता है

b) किसी दूसरे खाते से अपने सिस्टम में साइन इन करें

इस मामले में, उपयोगकर्ता अपनी आवाज़ का इस्तेमाल करके एक नया खाता बनाने का विकल्प चुनता है. Google कॉल आपकी सेवा का टोकन एक्सचेंज एंडपॉइंट. इस अनुरोध में Google आईडी टोकन मौजूद है, जिसमें ज़रूरी कॉम्पोनेंट शामिल हैं नया खाता बनाने के लिए. इसके बाद, इस टोकन में मौजूद जानकारी का इस्तेमाल किया जा सकता है (उपयोगकर्ता का नाम और ईमेल पता).

खाता बनाने के बाद, सेवा देने वाली कंपनी, ऐक्सेस टोकन दिखाती है और रीफ़्रेश करती है नए खाते के लिए टोकन. आपकी सेट की गई कार्रवाई में अब उपयोगकर्ता की पहचान लिंक किए गए खाते हैं. उपयोगकर्ता का मूल अनुरोध (“सामान्य तौर पर ऑर्डर करें”) उपयोगकर्ता के इंटेंट से मैच होता है order_drink. आपका वेबहुक, मैच होने वाले इंटेंट को पूरा करना और इसके लिए आपके डेटाबेस से क्वेरी करना user@gmail.com का सामान्य ऑर्डर, जो अभी मौजूद नहीं है, क्योंकि उपयोगकर्ता नया है. इसके बाद, आपकी सेट की गई कार्रवाई उपयोगकर्ता से पूछ सकती है कि उन्हें क्या ऑर्डर करना है.

फ़्लो 3: उपयोगकर्ता की जानकारी मौजूद नहीं है और उपयोगकर्ता ने किसी दूसरे खाते से साइन इन किया है

आपने आवाज़ से खाता बनाने की सुविधा चालू की है. इसलिए, Assistant उपयोगकर्ता से पूछती है कि क्या तो वह इनमें से कोई एक काम करना चाहे:

a) उनकी Google प्रोफ़ाइल की जानकारी का इस्तेमाल करके, अपने सिस्टम पर नया खाता बनाएं, जो आवाज़ के ज़रिए पूरा किया जाता है

b) किसी दूसरे खाते से अपने सिस्टम में साइन इन करें

इस स्थिति में, उपयोगकर्ता किसी दूसरे खाते से साइन इन करने का विकल्प चुनता है, स्टैंडर्ड OAuth फ़्लो शुरू करता है. अगर सिर्फ़ बोलकर दिए जाने वाले डिवाइस पर प्रक्रिया शुरू हुई, तो Google, प्रोग्राम को फ़ोन पर ट्रांसफ़र कर देता है. इसके बाद Google खुलता है उपयोगकर्ता के ब्राउज़र में आपका ऑथराइज़ेशन एंडपॉइंट है. साथ ही, यह आपकी ज़रूरत के हिसाब से कॉन्फ़िगरेशन के बाद, उपयोगकर्ता यह चुन सकता है कि a) मौजूदा खाता जो 'Google साइन इन' का इस्तेमाल नहीं करता है या b) नया खाता बनाना सेवा देने वाली किसी दूसरी कंपनी का इस्तेमाल करें. OAuth फ़्लो के बारे में ज़्यादा जानकारी के लिए, यहां जाएं: OAuth लिंक करने का सिद्धांत गाइड.

उपयोगकर्ता के क्रेडेंशियल की पुष्टि करने के बाद, आपकी सेवा ऐक्सेस टोकन दिखाती है और Google को रीफ़्रेश टोकन मिलेगा. आपकी सेट की गई कार्रवाई में उपयोगकर्ता की पहचान को लिंक कर दिया गया है Google से बाहर के खाते में. उपयोगकर्ता का मूल अनुरोध (“सामान्य तौर पर ऑर्डर करें”) मेल खाता हो इसके बाद, उपयोगकर्ता का इंटेंट order_drink. आपका वेबहुक, मैच होने वाला इंटेंट और user@gmail.com के सामान्य ऑर्डर के लिए आपके डेटाबेस से क्वेरी करता है, जो अभी तक मौजूद नहीं है, क्योंकि उपयोगकर्ता नया है. इसके बाद, आपकी सेट की गई कार्रवाई उपयोगकर्ता को क्या ऑर्डर करना है या उनसे अपना सामान्य ऑर्डर सेट अप करने के लिए कहें.

ध्वनि खाता बनाने की प्रक्रिया बंद की गई

इस सेक्शन में, खाता लिंक करने का फ़्लो बताया गया है. खाता लिंक करने का फ़्लो बंद करने पर क्या होता है वॉइस के ज़रिए खाता बनाने की सुविधा मिलती है.

फ़्लो 4: उपयोगकर्ता की जानकारी मौजूद नहीं है

आपने आवाज़ से खाता बनाने की सुविधा चालू नहीं की है और उपयोगकर्ता आपके खाते में मौजूद नहीं है बैकएंड में कोई गड़बड़ी नहीं मिलती. इसलिए, स्टैंडर्ड OAuth फ़्लो शुरू हो जाता है. Assistant आपकी उपयोगकर्ता के ब्राउज़र में ऑथराइज़ेशन एंडपॉइंट (अगर फ़्लो सिर्फ़ वॉइस पर शुरू हुआ हो तो Google, एक्ज़ीक्यूशन को स्क्रीन वाले डिवाइस पर ट्रांसफ़र करता है). उपयोगकर्ता ये काम कर सकता है: इनमें से किसी एक को चुनें) या b) किसी अन्य खाते के साथ एक नया खाता बनाएँ . OAuth फ़्लो के बारे में ज़्यादा जानने के लिए, यहां जाएं: OAuth लिंक करने का सिद्धांत गाइड.

उपयोगकर्ता के क्रेडेंशियल की पुष्टि करने के बाद, आपकी सेवा ऐक्सेस टोकन दिखाती है और Google को रीफ़्रेश टोकन मिलेगा. आपकी सेट की गई कार्रवाई में उपयोगकर्ता की पहचान को लिंक कर दिया गया है Google से बाहर के खाते में. उपयोगकर्ता का मूल अनुरोध (“सामान्य तौर पर ऑर्डर करें”) मेल खाता हो इसके बाद, उपयोगकर्ता का इंटेंट order_drink. आपका वेबहुक, मैच होने वाला इंटेंट और user@gmail.com के सामान्य ऑर्डर के लिए आपके डेटाबेस से क्वेरी करता है, जो अभी तक मौजूद नहीं है, क्योंकि उपयोगकर्ता नया है. इसके बाद, आपकी सेट की गई कार्रवाई उपयोगकर्ता को अपना सामान्य क्रम सेट करना चाहिए.