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

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

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

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

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

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

יומן שינויים

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

Chrome 131 (אוקטובר 2024)

Chrome 125 (אפריל 2024)

Chrome 123 (פברואר 2024)

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

Chrome 122 (ינואר 2024)

  • הוספנו תמיכה ב-Disconnect API. Disconnect API מאפשר ל-RP לנתק את המשתמשים שלו מהחשבון של ה-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 Flag API: Auto-Selected Flag API משתף עם ה-IdP ועם ה-RP אם הושגה הרשאת משתמש מפורשת על ידי הקשה על הלחצן Continue as, בכל פעם שהתרחשה אימות מחדש אוטומטי או תהליך תיווך מפורש. השיתוף מתבצע רק אחרי שהמשתמש נותן הרשאה לתקשורת בין ה-IdP ל-RP.

Chrome 117 (ספטמבר 2023)

Chrome 116 (אוגוסט 2023)

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

Chrome 115 (יוני 2023)

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

Chrome 110 (פברואר 2023)

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

משאבים