ה-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)
- Storage Access API משתמש עכשיו ב-FedCM בתור אות אמון.
- אם משתמש מאמת באמצעות FedCM, עם הסכמה מצד RP, הטמעת ה-IdP יכולה להפעיל את השיטה
requestStorageAccess()
כדי לקבל באופן אוטומטי גישה לאחסון של קובצי ה-cookie ברמה העליונה שלו, בלי צורך בהודעה נוספת למשתמש.
- אם משתמש מאמת באמצעות FedCM, עם הסכמה מצד RP, הטמעת ה-IdP יכולה להפעיל את השיטה
Chrome 125 (אפריל 2024)
- מאחר שהשם של 'accounts list endpoints' עודכן במפרט ל-'accounts endpoint', גם במסמכי העזרה שלנו השם השתנה בהתאם.
- גרסת המקור לניסיון של Button Mode API זמינה בגרסה 125 של Chrome למחשב. מידע נוסף זמין במאמר עדכונים ב-FedCM: ניסיון למקור API במצב לחצן, CORS ו-SameSite.
- CORS נאכף בנקודת הקצה של טענת הנכוֹנוּת של הזהות החל מגרסה 125 של Chrome.
- החל מגרסה 125 של Chrome, Chrome ישלח רק קובצי cookie שמסומנים במפורש בתווית
SameSite=None
אל נקודת הקצה של טענת הנכוֹנוּת (assertion) של מזהה ואל נקודת הקצה של חשבונות.
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 בעבר.
- התכונה אימות מחדש אוטומטי ב-FedCM מופעלת רק כשהמשתמש חוזר. כלומר, המשתמש צריך להיכנס ל-RP באמצעות FedCM פעם אחת בכל מכונה בדפדפן, כדי שאפשר יהיה להפעיל את האימות מחדש האוטומטי. התנאי הזה הוצג לראשונה כדי לצמצם את הסיכון למעקב אחרי משתמשים שמתחזה לספק זהויות (IdP) ומטעה את הדפדפן לבצע אימות מחדש אוטומטי של משתמש ללא ידיעתו או הסכמתו. עם זאת, העיצוב הזה לא יכול להבטיח את יתרונות הפרטיות אם למעקב יש גישה לקובצי cookie של צד שלישי בהקשר של RP. FedCM מספק רק קבוצת משנה של היכולות האפשריות באמצעות קובצי cookie של צד שלישי, כך שאם למעקב כבר יש גישה לקובצי cookie של צד שלישי בהקשר של RP, הגישה ל-FedCM לא מציבה סיכון נוסף לפרטיות.
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.
- Login Status API: Login Status API הוא מנגנון שבו אתר, במיוחד IdP, מודיע לדפדפן על סטטוס הכניסה של המשתמש. באמצעות ה-API הזה, הדפדפן יכול לצמצם את מספר הבקשות המיותרות ל-IdP ולצמצם את הסיכון למתקפות תזמון אפשריות. ממשק ה-API של סטטוס ההתחברות הוא דרישה ל-FedCM.
בעקבות השינוי הזה, הדגל
Chrome 117 (ספטמבר 2023)
- גרסת המקור לניסיון של Idp Sign-In Status API זמינה ב-Android החל מגרסת Chrome 117. מידע נוסף זמין במאמר עדכונים ב-FedCM: ממשק API לסטטוס הכניסה של IdP, רמז להתחברות ועוד.
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)
- הפרמטר
consent_acquired
שנשלח לנקודת הקצה של אסימון המזהה הוא עכשיוdisclosure_text_shown
. הערך לא משתנה. - סמלי המותג במניפסט של ה-IdP הפסיקו לתמוך בתמונות SVG, אבל אין יותר צורך לאפשר אותם במדיניות האבטחה של התוכן של ה-RP.
Chrome 103 (מאי 2022)
- תמיכה בסביבות מחשב.
- תמיכה בהגדרות לכל RP במחשב.
- נקודת הקצה של המטא-נתונים של הלקוח היא עכשיו אופציונלית. בנקודת הקצה הזו, גם כתובת ה-URL של מדיניות הפרטיות היא אופציונלית.
- הוספנו למסמך אזהרה לגבי שימוש ב-CSP
connect-src
.