מדריך קונספט לכניסה באמצעות חשבון Google

כניסה באמצעות חשבון Google (GSI) ל-Assistant מספקת את הקישור החלק ביותר עבור המשתמשים, והתהליך הכי קל למפתחים להטמיע. באמצעות GSI, הפעולה יכולה לבקש גישה לפרופיל של המשתמש שלך ב-Google במהלך שיחה, ואם המשתמש מסכים לקבל את השם וכתובת האימייל שלו ותמונת הפרופיל. לאחר מכן הפעולה יכולה להשתמש במידע הזה כדי לבדוק אם למשתמש יש חשבון Google במערכת שלך. אם לא, הפעולה תשאל את המשתמש אם הוא רוצה ליצור חשבון חדש במערכת שלך על סמך חשבון Google שלו פרטי הפרופיל.

GSI הוא הפתרון המומלץ לקישור חשבונות אם מתקיים אחד מהתנאים הבאים:

  • אין לכם מערכת אימות קיימת ו/או שאתם מצפים יוצרים חשבון Google. לדוגמה, אם הפעולה מתייחסת באופן ספציפי שמטרגטת את Assistant, תוכלו לצפות שכל המשתמשים שלכם יראו את Google חשבונות.
  • יש לכם מערכת אימות קיימת ואתם רוצים לקשר רק משתמשים נכנסו למערכת שלכם באמצעות חשבונות Google שלהם.

כדי לוודא ש-GSI הוא הפתרון המתאים עבורכם, בוחרים את הדף סוג קישור החשבונות.

מונחי מפתח

לפני שתקראו על האופן שבו GSI עובד, כדאי שתכירו את התנאים הבאים:

  • אסימון מזהה של Google: טענת נכוֹנוּת (assertion) חתומה של זהות המשתמש שמכילה פרטים בסיסיים בפרופיל של המשתמש (השם, כתובת האימייל והכתובת שלו תמונת פרופיל). אסימון מזהה של 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: מאפיין שהמערכת מגדירה כדי לציין אם למשתמש בסשן הנוכחי יש זהות מקושרת.

  • סצנת המערכת לקישור חשבונות: סצנה מוגדרת מראש שבה מורץ האישור לקישור חשבונות, ואפשר להתאים אותו לתרחישים ספציפיים לדוגמה.

איך זה עובד

התהליך הבסיסי של GSI הוא:

  1. הפעולה מבקשת מהמשתמש/ת הסכמה לגשת לפרופיל שלו ב-Google.
  2. אחרי שהמשתמש מביע הסכמה, הפעולה מקבלת אסימון מזהה של Google ש מכילה את הפרטים מפרופיל Google של המשתמש.
  3. לאמת ולפענח את האסימון כדי לקרוא את תוכן הפרופיל. אם משתמשים ספריית Fulfillment של Actions on Google עבור Node.js, הוא מאמת ומפענח את האסימון בשבילכם.
  4. הפעולה משתמשת באסימון הזה כדי לבדוק אם פרופיל Google של המשתמש שקיים במערכת שלכם.

    1. אם כן, המשתמש כבר נכנס למערכת באמצעות חשבון Google. המשתמש יכול להמשיך את השיחה עם Assistant כשהזהות מקושרת לחשבון Google שלו.
    2. אם הם לא מחוברים לחשבון הזה, המשתמש יכול ליצור חשבון חדש במערכת באמצעות המידע שנכלל באסימון המזהה של Google. לאחר מכן המשתמש יכול להמשיך את השיחה עם Assistant כשהחשבון החדש מקושר.

תהליך הכניסה באמצעות חשבון Google

בקטע הזה מתוארים התהליכים השונים שיכולים להתרחש עם כניסה באמצעות חשבון Google.

תהליך 1: פרטי המשתמש קיימים במערכת שלכם

הדיאגרמה הבאה מציגה את התהליך מקצה לקצה שמתרחש ב-GSI כאשר פרטי המשתמש כבר קיימים במערכת שלכם:

במקרה כזה, תעברו לסצנת המערכת של קישור החשבונות ותספקו נימוק מותאם אישית. הסצנה הזו מבקשת מהמשתמש הרשאה: לגשת לפרטים בפרופיל Google שלהם.

אחרי שהמשתמש מביע הסכמה, Assistant שולחת בקשה שכוללת את פרטי הפרופיל של user@gmail.com. במקרה הזה, המידע באסימון המזהה של Google עבור user@gmail.com תואם לחשבון ב- במערכת, כך שזהות המשתמש בפעולה תקושר באופן אוטומטי לחשבון הזה. התגובה לפעולה מאתר אחר (webhook) יכולה לקרוא את הסדר הרגיל של המשתמש מ: מסד נתונים ומגיב בהתאם.

תהליך 2: פרטי המשתמש לא קיימים במערכת שלכם

הדיאגרמה הבאה מציגה את התהליך מקצה לקצה שמתרחש ב-GSI כאשר פרטי המשתמש לא קיימים במערכת שלכם:

במקרה זה, המידע שנכלל באסימון המזהה של Google עבור החשבון user@gmail.com לא תואם לחשבון במערכת שלך, לכן Assistant המשתמשים יתבקשו להחליט אם הם רוצים ליצור חשבון חדש. המשתמש יכול להשלים את התהליך את תהליך יצירת החשבון באמצעות הקול במקום להעביר אותו מכשיר שנבדק.

כשהמשתמש מסכים ליצור חשבון, השירות משתמש במידע הזה. באסימון המזהה (שם המשתמש וכתובת האימייל שלו) כדי ליצור חשבון למשתמש. לאחר יצירת החשבון, זהות המשתמש בפעולה מקושר לחשבון Google החדש שלו.

במקרה הזה, למשתמש אין הזמנה רגילה כי הוא חדש במסגרת השירות, ולכן הפעולה שואלת מה הוא רוצה להזמין. שלך יכול גם לשאול את המשתמש אם הוא רוצה להגדיר את ההזמנה האחרונה לפי הסדר הרגיל שלהם.