סקירה כללית

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

פרוטוקול OAuth 2.0 המאובטח מאפשר לקשר בבטחה את חשבון Google של המשתמש לחשבון שלו בפלטפורמה, וכך לתת לאפליקציות ולמכשירים של Google גישה לשירותים שלכם.

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

תרחישים לדוגמה

אלה כמה מהסיבות להטמעת קישור של חשבון Google:

  • שיתוף נתונים של משתמשים מהפלטפורמה שלכם עם אפליקציות ושירותים של Google.

  • להפעיל את תוכן הסרטונים והסרטים באמצעות Google TV.

  • ניהול ושליטה במכשירים המחוברים ל-Google Smart Home באמצעות אפליקציית Google Home ו-Google Assistant, "Ok Google, turn on the lights".

  • ניתן ליצור חוויות ופונקציות מותאמות אישית ב-Google Assistant בעזרת פעולות שיחה, וכן את הפקודה "Ok Google, order my regular from Starbucks".

  • מאפשרים למשתמשים לצבור פרסים על ידי צפייה בשידורים חיים שעומדים בקריטריונים ב-YouTube, אחרי שהם מקשרים את חשבון Google שלהם לחשבון שותף שמעניק פרסים.

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

תכונות נתמכות

התכונות הבאות נתמכות בקישור לחשבון Google:

  • שיתוף מהיר וקל של הנתונים באמצעות התהליך OAuth Linking implicit.

  • מספקים אבטחה משופרת באמצעות התהליך של קוד ההרשאה לקישור OAuth.

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

  • מפחיתים את הקושי בעזרת App Flip. באפליקציה מהימנה של Google, הקשה אחת פותחת באופן מאובטח את האפליקציה המאומתת ל-Android או ל-iOS, והקשה אחת מאשרת את הסכמת המשתמש ומקשרת את החשבונות.

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

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

תהליכי קישור חשבונות

יש 3 תהליכים לקישור חשבון Google, כולם מבוססי OAuth, וצריך לנהל או לשלוט בנקודות קצה שתואמות ל-OAuth 2.0 להרשאה ולהחלפת אסימונים.

במהלך תהליך הקישור, אתם מנפיקים ל-Google אסימוני גישה לחשבונות Google ספציפיים אחרי שאתם מקבלים את הסכמת בעלי החשבונות לקשר את החשבונות שלהם ולשתף נתונים.

קישור OAuth ('Web OAuth')

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

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

איור 1. קישור חשבון בטלפון של המשתמש באמצעות Web OAuth

קישור של App Flip שמבוסס על OAuth ('App Flip')

תהליך OAuth שמעביר את המשתמשים אל האפליקציה לצורך קישור.

קישור של App Flip מבוסס-OAuth מנחה את המשתמשים כשהם עוברים בין האפליקציות לנייד שלכם (ל-Android או ל-iOS) המאומתות לבין פלטפורמת Google, כדי לבדוק את השינויים המוצעים לגישה לנתונים ולהביע הסכמה לקישור החשבון שלהם בפלטפורמה לחשבון Google שלהם. כדי להפעיל את App Flip, השירות שלכם צריך לתמוך בקישור OAuth או בקישור מבוסס-OAuth לכניסה באמצעות חשבון Google באמצעות התהליך קוד הרשאה.

התכונה 'העברת אפליקציות' נתמכת גם ב-Android וגם ב-iOS.

איך זה עובד:

Google app בודקת אם האפליקציה מותקנת במכשיר של המשתמש:

  • אם האפליקציה נמצאה, המשתמש מועבר לאפליקציה באמצעות 'היפוך'. האפליקציה מקבלת מהמשתמשים הסכמה לקשר את החשבון ל-Google, ואז "הופכת" בחזרה לפלטפורמה של Google.
  • אם האפליקציה לא נמצאת או שמתרחשת שגיאה בתהליך הקישור של החלפת האפליקציות, המשתמשים יפנו אותם לתהליך של אופטימיזציית עלות או הרשאות OAuth באינטרנט.

איור 2. קישור חשבון בטלפון של המשתמש באמצעות App Flip

קישור יעיל מבוסס OAuth ('פשוט')

קישור פשוט יותר של כניסה באמצעות חשבון Google שמבוסס על OAuth מוסיף את כניסה באמצעות חשבון Google לקישור OAuth, ומאפשר למשתמשים להשלים את תהליך הקישור בלי לצאת מ-Google, וכך לצמצם את החיכוכים והנטישה. קישור פשוט מבוסס-OAuth משלב בין כניסה באמצעות חשבון Google לבין קישור באמצעות OAuth, ומספק את חוויית המשתמש הטובה ביותר עם כניסה חלקה, יצירת חשבון וקישור חשבון. השירות חייב לתמוך בנקודות קצה שתואמות ל-OAuth 2.0 להרשאה ולהחלפת אסימונים. בנוסף, נקודת הקצה (endpoint) של המרת אסימונים חייבת לתמוך בטענות נכונות (assertions) של JSON Web Token (JWT) ולהטמיע את הכוונות check, create ו-get.

איך זה עובד:

Google מאמתת את חשבון המשתמש ומעבירה לכם את המידע הבא:

  • אם קיים חשבון של המשתמש במסד הנתונים, המשתמש מקשר בהצלחה את חשבון Google שלו לחשבון שלו בשירות שלכם.
  • אם אין חשבון של המשתמש במסד הנתונים שלכם, המשתמש יכול ליצור חשבון חדש של צד שלישי באמצעות המידע המאומת ש-Google מספקת : כתובת אימייל, שם ותמונת פרופיל, או להיכנס לחשבון ולקשר אותו לכתובת אימייל אחרת (הוא יצטרך להיכנס לחשבון בשירות שלכם דרך Web OAuth).

איור 3. קישור חשבונות בטלפון של המשתמש באמצעות קישור יעיל

באיזה תהליך כדאי להשתמש?

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

עבודה עם אסימונים

הקישור לחשבון Google מבוסס על תקן OAuth 2.0.

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

סוגי האסימונים

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

יש שלושה סוגים של אסימוני OAuth 2.0 במהלך קישור חשבונות:

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

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

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

טיפול בטוקנים

תנאי מרוץ תהליכים בסביבות אשכולות ובחילופי שרת-לקוח עלולים לגרום לתרחישים מורכבים של תזמון וטיפול בשגיאות בעבודה עם אסימונים. לדוגמה:

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

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

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

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

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

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

אם בקשות לאסימון גישה נכשלות, מוצגת שגיאה גלויה אם הן הופעלו על ידי משתמש. אם משתמשים בפרוטוקול OAuth 2.0 סמוי, הם יצטרכו לנסות שוב לבצע קישור אם הקישור נכשל.

המלצות

יש הרבה פתרונות לצמצום ההשפעה של התחזוקה. כדאי לבדוק את האפשרויות הבאות:

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

  • צמצום מספר הבקשות לקבלת אסימונים במהלך תקופת התחזוקה:

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

    • הגדלת משך החיים של אסימון הגישה באופן זמני:

      1. הגדלת משך החיים של האסימון כך שיהיה ארוך יותר מתקופת התחזוקה.
      2. להמתין למשך זמן כפול מזה של משך החיים של אסימון הגישה, כדי לאפשר למשתמשים להחליף אסימונים לטווח קצר באסימונים לטווח ארוך יותר.
      3. נכנסים לתחזוקה.
      4. תגובה לבקשות אסימון עם קוד שגיאה 503 וגוף ריק.
      5. יציאה ממצב תחזוקה.
      6. מקצרים את משך החיים של האסימון חזרה למצב הרגיל.

רישום ב-Google

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