אנחנו שמחים להציג כמה עדכונים ב-FedCM, כולל תקופת ניסיון חדשה למקור לצורך אימות מחדש אוטומטי.
Federated Credential Management API (FedCM) הוא ממשק API לאינטרנט לאיחוד שירותי אימות הזהות לשמירה על הפרטיות. באמצעות איחוד שירותי אימות הזהות, צד נסמך (RP) מסתמך על ספק זהויות (IdP) כדי לספק למשתמש חשבון בלי לדרוש שם משתמש וסיסמה חדשים.
FedCM הוא ממשק API שמיועד למטרה ספציפית, שמאפשר לדפדפן להבין את ההקשר שבו ה-RP וספק הזהויות מחליפים מידע, ליידע את המשתמש לגבי רמות ההרשאות והמידע שמשותפים ולמנוע ניצול לרעה לא מכוון.
עדכונים
יש כמה עדכונים בהטמעת FedCM ב-Chrome:
- בנקודת הקצה של טענת הנכוֹנוּת של הזהות, ספקי ה-IdP צריכים לבדוק את הכותרת
Origin
(במקום את הכותרתReferer
) כדי לראות אם הערך תואם למקור של מזהה הלקוח. - נוספה דגל Chrome חדש
chrome://flags/#fedcm-without-third-party-cookies
. באמצעות הדגל הזה אפשר לבדוק את הפונקציונליות של FedCM ב-Chrome על ידי חסימת קובצי cookie של צד שלישי.
כל העדכונים הקודמים של ה-API מפורטים במאמר עדכונים של Federated Credential Management API.
הגרסה האחרונה של FedCM כוללת תכונה חדשה של אימות מחדש אוטומטי, שמאפשרת לבצע אימות מחדש של משתמשים באופן אוטומטי כשהם חוזרים אחרי האימות הראשוני באמצעות FedCM. אימות מחדש אוטומטי זמין כגרסת מקור לניסיון החל מגרסה 112 של Chrome.
אימות מחדש אוטומטי
נכון לעכשיו, אחרי שמשתמש יוצר חשבון מאוחד ב-RP עם IdP דרך FedCM, בפעם הבאה שהוא ייכנס לאתר הוא יצטרך לבצע את אותם השלבים בממשק המשתמש. כלומר, הם צריכים לאשר באופן מפורש ולבצע אימות מחדש כדי להמשיך בתהליך הכניסה. אחד מהיעדים העיקריים של FedCM הוא למנוע מעקב סמוי, ולכן חוויית המשתמש (UX) הזו הגיונית לפני שהמשתמש יוצר את החשבון המאוחד, אבל היא הופכת למיותרת ומסורבלת אחרי שהמשתמש עובר אותה פעם אחת. אחרי שהמשתמש מעניק הרשאה לאפשר תקשורת בין RP ל-IdP, אין יתרון לפרטיות או לאבטחה לאכיפת אישור מפורש נוסף של המשתמש לגבי משהו שכבר אושר על ידו. לכן אנחנו משיקים ב-Chrome ממשק משתמש פשוט יותר, ש-RPs יכולים לבחור עבור המשתמשים החוזרים שלהם.
אימות מחדש אוטומטי של FedCM (בקיצור 'אימות מחדש אוטומטי') מבצע אימות מחדש של משתמשים באופן אוטומטי (כשספקי השירות העצמאיים בוחרים באפשרות הזו) כשהם חוזרים אחרי האימות הראשוני באמצעות FedCM. 'אימות ראשוני' כאן פירושו שהמשתמש יוצר חשבון או נכנס לאתר של RP על ידי הקשה על הלחצן Continue as… בתיבת הדו-שיח של FedCM לכניסה בפעם הראשונה באותו מופיע בדפדפן.

ה-RP יכול לבקש אימות מחדש אוטומטי על ידי קריאה ל-navigator.credentials.get()
עם autoReauthn: true
.
const cred = await navigator.credentials.get({
identity: {
providers: [{
configURL: "https://idp.example/fedcm.json",
clientId: "1234",
}],
// NOTE: We are exploring different API options to expose this
// functionality here:
// https://github.com/fedidcg/FedCM/issues/429#issuecomment-1426358523
// You should expect that, as a result of the origin trial, we'll
// learn more from developers and browser vendors what works best here.
autoReauthn: true, // default to false
},
});
כשמבצעים את הקריאה הזו, האימות מחדש מתבצע באופן אוטומטי בתנאים הבאים:
- אפשר להשתמש ב-FedCM. לדוגמה, המשתמש לא השבית את FedCM ברמת הארגון או ברמת RP.
- המשתמש השתמש רק בחשבון FedCM אחד כדי להיכנס לאתר בדפדפן הזה.
- המשתמש נכנס ל-IdP באמצעות החשבון הזה.
- האימות מחדש האוטומטי לא התרחש ב-10 הדקות האחרונות.
כשהתנאים שלמעלה מתקיימים, המערכת מנסה לאמת מחדש את המשתמש באופן אוטומטי ברגע שמפעילים את navigator.credentials.get()
של FedCM.
רוצה לנסות?
כדי לנסות את האימות האוטומטי מחדש של FedCM באופן מקומי, מפעילים את הדגל של Chrome chrome://flags#fedcm-auto-re-authn
ב-Chrome בגרסה 112 ואילך.
למטרות בדיקה, אפשר לאפס את תקופת השקט של 10 הדקות על ידי הסרת נתוני הדפדפן.
- נווט אל
chrome://history
. - בתיבת היסטוריית החיפושים, מזינים את המקור של ה-RP.
- לוחצים על סמל שלוש הנקודות ⋮ ובוחרים באפשרות הסרה מההיסטוריה.
- מפעילים מחדש את Chrome.
השתתפות בתוכנית הניסיון למקורות
אפשר גם להפעיל את התכונה באתר שלכם על ידי הצטרפות לגרסת הניסיון של מקור צד שלישי שזמינה מ-Chrome 112 ועד Chrome 114.
גרסאות מקור לניסיון מאפשרות לכם לנסות תכונות חדשות ולתת משוב לקהילת תקני האינטרנט, לגבי מידת השימושיות, המעשיות והיעילות שלהן. למידע נוסף, ראו מדריך לגרסאות מקור לניסיון של מפתחי אתרים. כדי להירשם לגרסת המקור לניסיון הזו או לתקופת ניסיון אחרת, יש להיכנס אל דף ההרשמה.
כדי להירשם למקור של הצד השלישי תקופת ניסיון והפעלת התכונה בצדדים שלישיים:
- עוברים לדף הרישום לתקופת המקור לניסיון.
- לוחצים על הלחצן Register וממלאים את הטופס כדי לבקש אסימון
- מזינים את מקור ההצגה בתור Web Origin.
- מסמנים את האפשרות התאמה של צד שלישי כדי להחדיר את האסימון עם JavaScript במקורות אחרים.
- לוחצים על שליחה.
- מטמיעים את האסימון שהונפק אצל צד שלישי.
כדי להטמיע את האסימון אצל צד שלישי, צריך להוסיף את הקוד הבא ל-JavaScript של ה-SDK או של ה-SDK שמוצגים מהמקור של האתר הרשום.
const tokenElement = document.createElement('meta');
tokenElement.httpEquiv = 'origin-trial';
tokenElement.content = 'TOKEN_GOES_HERE';
document.head.appendChild(tokenElement);
מחליפים את TOKEN_GOES_HERE
באסימון שלכם.
שיתוף משוב ויצירת אינטראקציה
אם יש לכם משוב או אם נתקלתם בבעיות במהלך הבדיקה, תוכלו לשתף אותם בכתובת crbug.com בקטע Blink>Identity>FedCM.