עדכונים של Fedeated Credential Management API

ה-Federated Credential Management API נשלח בגרסה 108 של Chrome, אבל הוא צפוי להמשיך להתפתח. לא מתוכננים שינויי תוכנה שעלולים לגרום לכשלים.

למי העדכונים האלה מיועדים?

העדכונים האלה מיועדים לכם אם:

  • ה-IdP שלך משתמש ב-Federated Credential Management API.
  • אתם עובדים ב-IdP או RP ואתם מעוניינים להרחיב את ה-API כך שיתאים לתרחיש לדוגמה שלכם – למשל, צפיתם בדיונים על מאגר ה-FedID CG או השתתפתם בהם, ואתם רוצים להבין את השינויים שבוצעו ב-API.
  • אתם ספקים של דפדפנים ואתם רוצים להתעדכן בסטטוס ההטמעה של ה-API.

אם זו הפעם הראשונה שאתם משתמשים ב-API הזה או שעדיין לא ניסיתם אותו, מומלץ לקרוא את המבוא ל-Federated Credential Management API.

יומן שינויים

כדי להתעדכן בשינויים ב-FedCM ב-API, אפשר להירשם לניוזלטר שלנו.

Chrome 125 (אפריל 2024)

Chrome 123 (פברואר 2024)

  • נוספה תמיכה ב-Domain Hint API. ה-Domain Hint API מאפשר ל-RP לציין נכס domainHint בקריאה ל-FedCM API כדי להציג למשתמש רק חשבונות תואמים.

Chrome 122 (ינואר 2024)

  • נוספה תמיכה ב-ניתוק API. ניתוק ה-API מאפשר ל-RPs לנתק את המשתמשים שלהם מהחשבון של ה-IdP בלי להסתמך על קובצי Cookie של צד שלישי.
  • המערכת מדלגת עכשיו על הבדיקה /.well-known/web-identity כשה-RP וה-IdP נמצאים באותו האתר.
  • במשאבי המשנה ניתן עכשיו להגדיר סטטוס התחברות של אותו אתר.

Chrome 121 (דצמבר 2023)

  • התנאי הרגיע להפעלה של אימות אוטומטי של FedCM:
    • התכונה אימות מחדש אוטומטי ב-FedCM מופעלת רק כשהמשתמש חוזר. כלומר, המשתמש צריך להיכנס ל-RP באמצעות FedCM פעם אחת בכל מכונה של דפדפן, לפני שאפשר יהיה להפעיל את ההרשאה האוטומטית מחדש. התנאי הזה תוכנן בהתחלה כדי לצמצם את הסיכון שכלי מעקב יתחזו לספקי זהויות (IdP) ולגרום לדפדפן לבצע אימות אוטומטי מחדש של משתמש ללא ידיעתו או הסכמתו. עם זאת, העיצוב הזה לא יכול להבטיח את יעילות הפרטיות אם למכשיר המעקב יש גישה לקובצי cookie של צד שלישי בהקשר של ה-RP. FedCM מספק רק תת-קבוצה של היכולות האפשריות באמצעות קובצי cookie של צד שלישי, כך שאם למכשיר המעקב כבר יש גישה לקובצי cookie של צד שלישי בהקשר של ה-RP, הגישה ל-FedCM לא מהווה סיכון נוסף לפרטיות.
      יש שימושים לגיטימיים בקובצי cookie של צד שלישי והרגעת התנאי ישפרה את חוויית המשתמש, ולכן ההתנהגות הזו משתנה מ-Chrome 121. החלטנו להקל על ההגבלה של התנאי כך שיתייחס למשתמש כאל חוזר: אם קובצי Cookie של צד שלישי זמינים ל-IdP בהקשר של ה-RP, דפדפן Chrome ייתן אמון בטענה של ה-IdP לגבי סטטוס החשבון של המשתמש שצוין ברשימה approved_clients, ויפעיל אימות אוטומטי מחדש, אם רלוונטי. קובצי cookie של צד שלישי יכולים להיות זמינים דרך: הגדרות משתמש, מדיניות ארגונית, היוריסטיקה (Safari, Firefox, Chrome) וממשקי API אחרים של פלטפורמת אינטרנט (כמו Storage Access API). שימו לב שכאשר ה-IdP יאבד את הגישה לקובצי cookie של צד שלישי בעתיד, אם משתמש מעולם לא העניק הרשאה מפורשת לממשק המשתמש של FedCM (למשל, לחיצה על Continue as) יתבצע בעבר, הוא עדיין ייחשב כמשתמש חדש.
      לא נדרשות פעולות של המפתח. שימו לב שיכול להיות שתהליך האימות האוטומטי יופעל יותר עם השינוי הזה אם ל-IdP יש גישה לקובצי Cookie של צד שלישי והוא מצהיר שהמשתמש יצר חשבון ב-RP בעבר.

Chrome 120 (נובמבר 2023)

  • ב-Chrome 120 נוספה תמיכה בשלוש התכונות הבאות:
    • Login Status API: ה-Login Status API הוא מנגנון שבו אתר, במיוחד IdP, מודיע לדפדפן את סטטוס ההתחברות של המשתמש. באמצעות ה-API הזה, הדפדפן יכול לצמצם בקשות מיותרות ל-IdP ולצמצם התקפות תזמון פוטנציאליות. ה-API של סטטוס ההתחברות הוא דרישה ל-FedCM. לאחר השינוי, הדגל chrome://flags/#fedcm-without-third-party-cookies לא נדרש יותר כדי להפעיל את FedCM כשקובצי cookie של צד שלישי חסומים.
    • Error API: השימוש ב-Error API מציג למשתמש ממשק משתמש של דפדפן עם פרטי השגיאה שסופקו על ידי ה-IdP.
    • Auto-Selected דגל API: ה-Auto-Selected דגל API מציין אם הושגה הרשאה מפורשת למשתמש על ידי הקשה על הלחצן המשך בתור עם ה-IdP וגם עם ה-RP, בכל פעם שהתרחש אימות מחדש אוטומטי או תהליך בחירת רשת מפורש. השיתוף מתבצע רק אחרי שמעניקים למשתמש הרשאה לתקשורת עם IdP ו-RP.

Chrome 117 (ספטמבר 2023)

Chrome 116 (אוגוסט 2023)

  • ב-Chrome 116 נוספה תמיכה בשלוש התכונות הבאות:
    • Login Hint API: מציינים את חשבון המשתמש המועדף שרוצים להיכנס אליו.
    • User Info API: מאחזרים את המידע של המשתמש החוזר כדי שספק הזהויות (IdP) יוכל לעבד לחצן כניסה מותאם אישית בתוך iframe.
    • RP Context API: צריך להשתמש בכותרת שאינה 'כניסה' בתיבת הדו-שיח של FedCM.
  • גרסת המקור לניסיון של סטטוס הכניסה ל-IdP זמינה. מידע נוסף על כך זמין בעדכוני FedCM: IdP Sign-In Status API, Hint Hint ועוד.

Chrome 115 (יוני 2023)

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

Chrome 110 (פברואר 2023)

  • עבור נקודת הקצה של טענת נכוֹנוּת (assertion) של המזהה, ספקי IdP צריכים לבדוק את הכותרת Origin (במקום הכותרת Referer) כדי לראות אם הערך תואם למקור של מזהה הלקוח.
  • עכשיו יש תמיכה ב-iframe ממקורות שונים עבור FedCM. ה-embedder צריך לציין את Permissions-Policy identity-credentials-get כדי לאפשר ל-FedCM API ב-iframe המוטמע ממקורות שונים. תוכלו לעיין בדוגמה ל-iframe ממקורות שונים.
  • נוסף סימון חדש של Chrome chrome://flags/#fedcm-without-third-party-cookies. באמצעות הדגל הזה, אפשר לבדוק את הפונקציונליות של FedCM ב-Chrome על ידי חסימת קובצי cookie של צד שלישי. מידע נוסף זמין בתיעוד של FedCM.

Chrome 108 (אוקטובר 2022)

  • "מניפסט ברמה עליונה" נקרא עכשיו "קובץ ידוע" במסמך. אין צורך לבצע שינויים בהטמעה.
  • 'מניפסט IdP' נקרא עכשיו 'קובץ תצורה' במסמך. אין צורך לבצע שינויים בהטמעה.
  • השם של id_token_endpoint בקובץ התצורה משתנה ל-id_assertion_endpoint.
  • הבקשות ל-IdP כוללות עכשיו כותרת Sec-Fetch-Dest: webidentity במקום הכותרת Sec-FedCM-CSRF: ?1.

Chrome 105 (אוגוסט 2022)

  • נוספו פרטי אבטחה חשובים למסמך. ספק הזהויות (IdP) צריך לבדוק אם הכותרת Referer תואמת למקור של ה-RP שרשום מראש בנקודת הקצה של האסימון המזהה.
  • שם המניפסט ברמה העליונה ישתנה מ-/.well-known/fedcm.json ל-/.well-known/web-identity וכתובת ה-URL שצוינה ב-provider_urls צריכה לכלול את שם הקובץ.
  • השיטות login(), logout() ו-revoke() במכונות של FederatedCredential לא זמינות יותר.
  • ה-Federated Credential Management API משתמש עכשיו בסוג חדש IdentityCredential במקום FederatedCredential. ניתן להשתמש בהם לזיהוי תכונות, אבל חוץ מזה, מדובר בשינוי בלתי נראה בעיקרו.
  • העברה של פונקציונליות ההתחברות משילוב של navigator.credentials.get() ו-FederatedCredential.prototype.login() אל navigator.credentials.get().
  • נקודת הקצה לביטול במניפסט כבר לא בתוקף.
  • עליך להשתמש בשדה identity במקום בשדה federated ב-navigator.credentials.get() קריאות.
  • url הוא עכשיו configURL וחייב להיות כתובת ה-URL המלאה של קובץ המניפסט JSON, במקום הנתיב לקריאה ל-navigator.credentials.get().
  • nonce הוא עכשיו פרמטר אופציונלי עבור navigator.credentials.get().
  • השדה hint לא זמין יותר כאפשרות ב-navigator.credentials.get().
const credential = await navigator.credentials.get({
  identity: {
    providers: [{
      configURL: 'https://idp.example/anything.json',
      clientId: '********',
      nonce: '******'
    }]
  }
});
const { token } = credential;

Chrome 104 (יוני 2022)

Chrome 103 (מאי 2022)

  • תמיכה בסביבות של מחשבים.
  • תמיכה בהגדרות לכל גורם מוגבל (RP) במחשב.
  • נקודת הקצה של המטא-נתונים של הלקוח היא עכשיו אופציונלית. בנקודת הקצה הזו, גם כתובת ה-URL של מדיניות הפרטיות היא אופציונלית.
  • נוספה אזהרה לגבי השימוש ב-CSP connect-src במסמך.

משאבים