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

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

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

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

  • אתם מוגדרים כ-IdP שמשתמשים ב-Federated Credential Management API.
  • אתם מוגדרים כ-IdP או RP ואתם רוצים להרחיב את ה-API כך שיתאים לתרחיש לדוגמה שלכם. לדוגמה, אם צפיתם בדיונים במאגר CG של FedID או השתתפתם בהם, ואתם רוצים להבין את השינויים שבוצעו ב-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)

Chrome 121 (דצמבר 2023)

  • התנאי הרגוע להפעלת אימות אוטומטי מחדש של FedCM:
    • התכונה אימות מחדש אוטומטי ב-FedCM מופעלת רק כשהמשתמש חוזר. כלומר, המשתמש צריך להיכנס ל-RP באמצעות FedCM פעם אחת בכל מופע של דפדפן, לפני שאפשר יהיה להפעיל את האימות מחדש. התנאי הזה הושק בהתחלה כדי לצמצם את הסיכון למכשירי מעקב שמתחזים לספק זהויות (IdP) ולגרום לדפדפן לבצע אימות מחדש אוטומטית של משתמש ללא הידיעה או ההסכמה שלו. עם זאת, העיצוב הזה לא יכול להבטיח תועלת לפרטיות אם לכלי המעקב יש גישה לקובצי cookie של צד שלישי בהקשר של הגורם המוגבל (RP). FedCM מספק רק חלק מהיכולות האפשריות באמצעות קובצי cookie של צד שלישי, כך שאם כבר יש לכלי המעקב גישה לקובצי cookie של צד שלישי בהקשר של הגורם המוגבל, הגישה ל-FedCM לא מהווה סיכון פרטיות נוסף.
      מכיוון שיש שימושים לגיטימיים בקובצי cookie של צד שלישי והרגעת התנאי ישפר את חוויית המשתמש, ולכן חל שינוי בהתנהגות הזו ב-Chrome 121. החלטנו להקל את ההגבלה של התנאי שיש להתייחס למשתמש כחוזר: אם קובצי Cookie של צד שלישי זמינים ל-IdP בהקשר של הגורם המוגבל, Chrome ייתן אמון בטענה של הספק לגבי סטטוס החשבון של המשתמש שמצוינת ברשימה 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: ה-API של סטטוס ההתחברות הוא מנגנון שבו אתר, במיוחד IdP, מודיע לדפדפן על סטטוס ההתחברות של המשתמש. באמצעות ה-API הזה, הדפדפן יכול להפחית בקשות מיותרות ל-IdP ולצמצם התקפות תזמון פוטנציאליות. ה-Login Status API הוא דרישה של FedCM. בעקבות השינוי הזה, הדגל chrome://flags/#fedcm-without-third-party-cookies לא נדרש יותר כדי להפעיל FedCM כשקובץ cookie של צד שלישי חסום.
    • Error API: ה-Error API שולח התראה למשתמש על ידי הצגת ממשק משתמש של דפדפן עם פרטי השגיאה שסופקו על ידי ה-IdP.
    • Auto-Selected flag API: Auto-Selected flag API מאפשר לראות אם התקבלה הרשאת משתמש מפורשת באמצעות הקשה על הלחצן Continue as (המשך בתור) גם ב-IdP וגם ב-RP, בכל פעם שבה מתבצע אימות מחדש או תהליך בחירת רשת מפורש. השיתוף מתרחש רק אחרי שניתנת הרשאת משתמש לתקשורת IdP ו-RP.

Chrome 117 (ספטמבר 2023)

Chrome 116 (אוגוסט 2023)

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

Chrome 115 (יוני 2023)

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

Chrome 110 (פברואר 2023)

  • בנקודת הקצה של טענת הנכוֹנוּת (assertion) של המזהה, ספקי זהויות צריכים לבדוק את הכותרת Origin (במקום את הכותרת Referer) כדי לראות אם הערך תואם למקור של מזהה הלקוח.
  • עכשיו יש תמיכה ב-iframe ממקורות שונים ב-FedCM. המטמיע צריך לציין את 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 צריכה לכלול את שם הקובץ.
  • ה-methods login(), logout() ו-revoke() במכונות של FederatedCredential לא זמינות יותר.
  • ב-Federated Credential Management API נעשה עכשיו שימוש בסוג חדש IdentityCredential במקום FederatedCredential. אפשר להשתמש בו לזיהוי תכונות, אבל חוץ מזה, מדובר בשינוי בלתי נראה בדרך כלל.
  • העברת הפונקציונליות של ההתחברות משילוב של navigator.credentials.get() ו-FederatedCredential.prototype.login() אל navigator.credentials.get().
  • נקודת הקצה לביטול במניפסט לא בתוקף.
  • בקריאות navigator.credentials.get() משתמשים בשדה identity במקום בשדה federated.
  • 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)

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

מקורות מידע