סקירה כללית

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • הפחתת החיכוך באמצעות החלפת אפליקציות. באפליקציית Google מהימנה, הקשה אחת פותחת בצורה מאובטחת את אפליקציית Android או iOS המאומתת, והקשה אחת מאשרת את הסכמת המשתמש ומקשרת את החשבונות.

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

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

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

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

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

קישור באמצעות OAuth ('OAuth לאינטרנט')

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

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

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

קישור אפליקציות באמצעות OAuth ('קישור אפליקציות')

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

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

התכונה 'החלפת אפליקציות' נתמכת ב-Android וב-iOS.

איך זה עובד:

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

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

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

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

OAuth-based Sign in with Google Streamlined linking מוסיף כניסה באמצעות חשבון Google על גבי קישור OAuth, ומאפשר למשתמשים להשלים את תהליך הקישור מבלי לצאת מהממשק של Google, וכך מצמצם את החיכוך ואת נטישת התהליך. קישור יעיל מבוסס OAuth מציע את חוויית המשתמש הטובה ביותר עם כניסה חלקה, יצירת חשבון וקישור חשבון על ידי שילוב של כניסה באמצעות חשבון Google עם קישור OAuth. השירות שלכם צריך לתמוך בנקודות קצה של הרשאות ושל החלפת טוקנים שתואמות ל-OAuth 2.0. בנוסף, נקודת הקצה להחלפת טוקנים צריכה לתמוך בהצהרות 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 ולשתף פרטי כניסה. פרטים נוספים זמינים במאמר בנושא הרשמה.