'Google साइन-इन' सिद्धांत की गाइड (Dialogflow)

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

अगर इनमें से कोई भी बात लागू होती है, तो खाता लिंक करने के लिए जीएसआई का इस्तेमाल करने का सुझाव दिया जाता है:

  • आपके पास पुष्टि करने का कोई मौजूदा सिस्टम नहीं है और/या आपको सभी उपयोगकर्ताओं के पास Google खाता होना चाहिए. उदाहरण के लिए, अगर आपकी सेट की गई कार्रवाई अगर आपने Assistant को टारगेट किया है, तो सभी उपयोगकर्ताओं के पास Google का इस्तेमाल करने की उम्मीद होगी खाते.
  • आपके पास पुष्टि करने का एक सिस्टम मौजूद है और आपको सिर्फ़ उन उपयोगकर्ताओं को लिंक करना है जो आपके सिस्टम में साइन इन करने के लिए, अपने 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"
}
  • खाते में साइन इन करने के लिए हेल्पर इंटेंट: हेल्पर इंटेंट, जिसे कॉल किया जाता है Assistant से खाता लिंक करने के फ़्लो का अनुरोध करें. ज़्यादा जानकारी के लिए, खाते में साइन इन करना देखें.
    • कॉन्टेक्स्ट स्ट्रिंग: कस्टमाइज़ की गई एक स्ट्रिंग, जिसे आपने खाते में जोड़ा है साइन-इन हेल्पर इंटेंट, जो लोगों को बताता है कि आपको लिंक करने के लिए उनकी ज़रूरत क्यों है उसका खाता.

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

जीएसआई का बुनियादी फ़्लो इस तरह है:

  1. आपकी सेट की गई कार्रवाई, उपयोगकर्ता से Google पर अपनी प्रोफ़ाइल ऐक्सेस करने की सहमति मांगती है.
  2. उपयोगकर्ता की सहमति के बाद, आपकी कार्रवाई को एक Google आईडी टोकन मिलता है जो उपयोगकर्ता की Google प्रोफ़ाइल की जानकारी होती है.
  3. प्रोफ़ाइल का कॉन्टेंट पढ़ने के लिए, टोकन की पुष्टि करें और उसे डिकोड करें. अगर आपको Node.js के लिए Google पर Google क्लाइंट लाइब्रेरी या Java क्लाइंट लाइब्रेरी के लिए कार्रवाइयां, यह आपके लिए टोकन की पुष्टि करता है और उसे डिकोड करता है.
  4. आपका Action इस टोकन का इस्तेमाल यह देखने के लिए करता है कि उपयोगकर्ता की Google प्रोफ़ाइल है या नहीं आपके सिस्टम में जानकारी मौजूद होती है.

    1. अगर ऐसा होता है, तो उपयोगकर्ता ने पहले ही अपने सिस्टम के साथ आपके सिस्टम में साइन इन किया हुआ है Google खाता. उपयोगकर्ता, Assistant की मदद से, अपनी पहचान से जुड़ी जानकारी उसके Google खाते से लिंक की गई हो.
    2. अगर ऐसा नहीं होता है, तो उपयोगकर्ता आपके सिस्टम में एक नया खाता बना सकता है. Google आईडी टोकन में मौजूद जानकारी. इसके बाद उपयोगकर्ता ये काम कर सकता है: Assistant से बातचीत जारी रखने के लिए, उनके नए खाते को लिंक करें.

'Google साइन इन' फ़्लो

इस सेक्शन में, 'Google साइन इन' सुविधा का इस्तेमाल करने के अलग-अलग फ़्लो के बारे में बताया गया है.

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

नीचे दिया गया डायग्राम, जीएसआई के साथ होने वाला एंड-टू-एंड फ़्लो दिखाता है. ऐसा तब होता है, जब उपयोगकर्ता की जानकारी आपके सिस्टम में पहले से मौजूद है:

इस मामले में, actions.intent.SIGN_IN हेल्पर इंटेंट को संदर्भ स्ट्रिंग को कस्टमाइज़ किया जाता है. इस इंटेंट के हिसाब से, उपयोगकर्ता से अपनी Google प्रोफ़ाइल की जानकारी ऐक्सेस करें.

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

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

नीचे दिया गया डायग्राम, जीएसआई के साथ शुरू होने वाला फ़्लो दिखाता है. ऐसा तब होता है, जब उपयोगकर्ता की जानकारी आपके सिस्टम में मौजूद नहीं है:

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

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

इस मामले में, उपयोगकर्ता के पास कोई सामान्य ऑर्डर नहीं है, क्योंकि वह पहली बार ऑर्डर कर रहा है आपकी कार्रवाई पूछती है कि वे क्या ऑर्डर करना चाहते हैं. आपने लोगों तक पहुंचाया मुफ़्त में उपयोगकर्ता से यह भी पूछा जा सकता है कि क्या वह अपना सबसे हाल का ऑर्डर सेट करना चाहता है सामान्य तौर पर मिलते हैं.