ביטול קישור של חשבונות

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

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

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

המשתמש ביקש לבטל את הקישור ל-Google

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

המשתמש ביקש לבטל את הקישור לפלטפורמה שלך

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

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

תוקף האסימון

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

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

אירועים אחרים

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

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

נקודת הקצה של ביטול האסימון

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

לבקשה יש את הטופס הבא:

POST /revoke HTTP/1.1
Host: oauth2.example.com
Content-Type: application/x-www-form-urlencoded

client_id=GOOGLE_CLIENT_ID&client_secret=GOOGLE_CLIENT_SECRET&token=TOKEN&token_type_hint=refresh_token

נקודת הסיום של ביטול האסימון שלך חייבת להיות מסוגלת להתמודד עם הפרמטרים הבאים:

פרמטרים של ביטול נקודות קצה
client_id מחרוזת שמזהה את מקור הבקשה כ- Google. יש לרשום מחרוזת זו במערכת שלך כמזהה הייחודי של גוגל.
client_secret מחרוזת סודית שרשמתם בגוגל לשירותכם.
token האסימון שיש לבטל.
token_type_hint (אופציונלי) סוג האסימון access_token או refresh_token או refresh_token . אם לא צוין, ברירת המחדל היא access_token .

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

HTTP/1.1 200 Success
Content-Type: application/json;charset=UTF-8

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

HTTP/1.1 503 Service Unavailable
Content-Type: application/json;charset=UTF-8
Retry-After: HTTP-date / delay-seconds

גוגל משיבה שוב לבקשה מאוחר יותר או Retry-After ידי Retry-After .

הגנה על כל החשבונות (RISC)

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

ההגנה על כל החשבונות מבוססת על תקן RISC שפותח ב-OpenID Foundation.

המערכת משתמשת באסימון אירוע אבטחה כדי להודיע ל-Google על ביטול של האסימון.

לאחר הפענוח, אירוע ביטול האסימון נראה כמו הדוגמה הבאה:

{
  "iss":"http://risc.example.com",
  "iat":1521068887,
  "aud":"google_account_linking",
  "jti":"101942095",
  "toe": "1508184602",
  "events": {
    "https://schemas.openid.net/secevent/oauth/event-type/token-revoked":{
      "subject_type": "oauth_token",
      "token_type": "refresh_token",
      "token_identifier_alg": "hash_SHA512_double",
      "token": "double SHA-512 hash value of token"
    }
  }
}

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

אירועים של ביטול אסימון
iss תלונה של המנפיק: זוהי כתובת URL שאתם מארחים, והיא שותפה עם Google במהלך הרישום.
aud הצהרה על זכויות יוצרים של הקהל: מזהה של Google כנמען ה-JWT. הערך צריך להיות google_account_linking.
jti תביעת מזהה JWT: זהו מזהה ייחודי שיוצרים עבור כל אסימון של אירוע אבטחה.
iat הונפקה בעת הצהרת זכויות היוצרים: זהו ערך NumericDate שמייצג את השעה שבה נוצר האסימון של אירוע האבטחה.
toe מועד תביעת הבעלות על האירוע: זהו ערך אופציונלי של NumericDate שמייצג את הזמן שבו האסימון בוטל.
exp תלונה על זמן תפוגה: אין לכלול את השדה הזה, מכיוון שהאירוע שגרם להתראה הזו כבר התרחש.
events
הצהרה על זכויות יוצרים באירועי אבטחה: זהו אובייקט JSON שחייב לכלול רק אירוע ביטול של אסימון אחד.
subject_type חובה להגדיר את הערך oauth_token.
token_type זהו סוג האסימון שבוטל, access_token או refresh_token.
token_identifier_alg זהו האלגוריתם המשמש לקידוד האסימון, והוא חייב להיות hash_SHA512_double.
token זהו המזהה של האסימון שבוטל.

למידע נוסף על הפורמטים והסוגים של השדות, תוכלו לעיין ב-JSON Web Token (JWT).