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

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

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

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

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

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

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

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

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

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

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

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

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

इस मामले में, आपको खाता लिंक करने वाले सिस्टम सीन पर जाना होगा और वजह चुनें. इस सीन में, उपयोगकर्ता से इन कामों के लिए अनुमति मांगी जाती है अपनी Google प्रोफ़ाइल की जानकारी ऐक्सेस करें.

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

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

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

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

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

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