עדכונים של FedCM: גרסת מקור לניסיון לאימות מחדש אוטומטי

אנחנו מציגים כמה עדכונים ל-FedCM, כולל גרסת מקור חדשה לניסיון לצורך אימות אוטומטי.

Federated Credential Management API (FedCM) הוא ממשק API לאינטרנט שמיועד לאיחוד שירותי אימות הזהות תוך שמירה על פרטיות. באמצעות איחוד שירותי אימות הזהות, RP (צד נסמך) מסתמך על IdP (ספק זהויות) כדי לספק למשתמש חשבון בלי לדרוש שם משתמש וסיסמה חדשים.

FedCM הוא ממשק API ייעודי שמאפשר לדפדפן להבין את ההקשר שבו ה-RP וה-IdP מחליפים מידע, ליידע את המשתמשים לגבי רמות המידע וההרשאות שמשותפות ולמנוע ניצול לרעה לא מכוון.

עדכונים

יש כמה עדכונים בהטמעת FedCM ב-Chrome:

לכל העדכונים הקודמים ב-API תוכלו לקרוא את המאמר עדכונים ל-Federated Credential Management API.

הגרסה האחרונה של FedCM כוללת תכונה חדשה לאימות אוטומטי, שמאפשרת אימות מחדש של משתמשים באופן אוטומטי כשהם חוזרים אחרי האימות הראשוני באמצעות FedCM. האימות מחדש האוטומטי זמין כגרסת מקור לניסיון, החל מגרסה 112 של Chrome.

אימות אוטומטי

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

אימות מחדש אוטומטי של FedCM (בקיצור: "auto-reauthn") אימות מחדש של המשתמשים באופן אוטומטי (כשהם מביעים הסכמה לגורם מוגבל), כשהם חוזרים באמצעות FedCM אחרי האימות הראשוני. המשמעות של 'האימות הראשוני' כאן הוא שהמשתמש יוצר חשבון או נכנס לאתר של הגורם המוגבל על ידי הקשה על הלחצן 'המשך בתור...' בתיבת הדו-שיח לכניסה של FedCM בפעם הראשונה, באותו מופע של הדפדפן.

תיבת דו-שיח שהמשתמש מקיש עליה כדי ליצור חשבון או כדי לבצע אימות.
תיבת דו-שיח שהמשתמש מקיש עליה כדי ליצור חשבון או לבצע אימות.

הגורם המוגבל יכול לבקש אימות מחדש באופן אוטומטי על ידי התקשרות אל 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 באופן גלובלי או עבור הגורם המוגבל.
  • המשתמש השתמש רק בחשבון FedCM אחד כדי להיכנס לאתר בדפדפן הזה.
  • המשתמש נכנס ל-IdP עם החשבון הזה.
  • האימות מחדש לא בוצע ב-10 הדקות האחרונות.

כשהתנאים שלמעלה מתקיימים, ניסיון אימות מחדש של המשתמש יתחיל באופן אוטומטי מיד עם הפעלת navigator.credentials.get() של FedCM.

המשתמש מבצע אימות אוטומטי מחדש ל-RP באמצעות FedCM

אני רוצה לנסות

תוכלו לנסות את האימות האוטומטי של FedCM באופן מקומי על ידי הפעלת דגל Chrome chrome://flags#fedcm-auto-re-authn ב-Chrome בגרסה 112 ואילך.

למטרות בדיקה, ניתן לאפס את פרק הזמן של 10 הדקות השקטות על ידי הסרת נתוני הדפדפן.

  1. נווט אל chrome://history.
  2. בתיבת היסטוריית החיפושים, מזינים את מקור הגורם המוגבל.
  3. לוחצים על סמל שלוש הנקודות ⋮ ובוחרים באפשרות הסרה מההיסטוריה.
  4. מפעילים מחדש את Chrome.

השתתפות בגרסת המקור לניסיון

אפשר גם להפעיל את התכונה באתר על ידי הצטרפות לגרסת המקור לניסיון של צד שלישי הזמינה מ-Chrome 112 דרך Chrome 114.

גרסאות מקור לניסיון מאפשרות לכם לנסות תכונות חדשות ולתת משוב לקהילת תקני האינטרנט, לגבי מידת השימושיות, המעשיות והיעילות שלהן. למידע נוסף, ראו מדריך לגרסאות מקור לניסיון של מפתחי אתרים. כדי להירשם לגרסת המקור לניסיון הזו או לתקופת ניסיון אחרת, יש להיכנס אל דף ההרשמה.

כדי להירשם לגרסת המקור לניסיון של צד שלישי ולהפעיל את התכונה אצל צדדים שלישיים:

  1. עוברים אל דף הרישום של גרסת המקור לניסיון.
  2. לוחצים על הלחצן רישום וממלאים את הטופס כדי לבקש אסימון
  3. מזינים את מקור ההצגה בתור מקור האינטרנט.
  4. מסמנים את האפשרות התאמה של צד שלישי כדי להחדיר את האסימון עם JavaScript למקורות אחרים.
  5. לוחצים על שליחה.
  6. להטמיע את האסימון שהונפק בצד שלישי.

כדי להטמיע את האסימון לצד שלישי, צריך להוסיף את הקוד הבא לספריית JavaScript או ל-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.

תמונה מאת אלכס פרז ב-UnFlood