FedCM: אות אמון ל-Storage Access API ב-Chrome 131

Natalia Markoborodova
Natalia Markoborodova

אחרי תקופת ניסיון מוצלחת, ב-Chrome 131 נעשה עכשיו שימוש ב-FedCM כאות אמון ל-Storage Access API.

Storage Access API‏ (SAA) מאפשר ל-iframe ממקורות שונים לבקש הרשאות גישה לאחסון, במקרים שבהם הגישה תידחה על ידי הגדרות הדפדפן.

יכול להיות שבחלק מהאתרים נעשה שימוש גם ב-FedCM לאימות וגם ב-SAA כדי לאפשר ל-iframes ממקורות שונים לגשת לאחסון הנדרש. לדוגמה, אם idp.example מוטמע ב-rp.example, ו-idp.example צריך גישה לאחסון של קובץ cookie משלו ברמה העליונה כדי להציג תוכן מותאם אישית.

בתרחיש הזה, המשתמש צריך לאשר שתי בקשות שונות: אחת לאימות ואחת להענקת גישה לקובצי cookie, כי SAA יפעיל בקשה להרשאה. FedCM משמש כאות אמון ומפשט את התהליך של Storage Access API. אחרי שהמשתמש מתחבר באמצעות FedCM, בקשות הגישה לאחסון שה-IdP יזם יתקבלו באופן אוטומטי, כך שלא תצטרכו להציג הודעות נוספות של SAA.

// In top-level rp.example:

// Ensure FedCM permission has been granted.
const cred = await navigator.credentials.get({
  identity: {
    providers: [{
      configURL: 'https://idp.example/fedcm.json',
      clientId: '123',
    }],
  }
});

// In an embedded IdP iframe:

// Returns `true` if the user already has access to cookies, and `false` if
// the user doesn't have access yet and needs to request it.
const hasAccess = await document.hasStorageAccess()
if(!hasAccess){
    // No user gesture is needed to approve storage access, and the call will be auto-granted.
    document.requestStorageAccess().then(e=>{
        //access cookies
})
} else{
    //the iframe already has access to third-party cookies
}

המשתתפים בגרסת הניסיון של Origin סיפקו משוב חיובי, והדגישו את חוויית המשתמש המשופרת שמתאפשרת באמצעות הנחיה ספציפית להקשר של FedCM, בהשוואה להנחיות כלליות של Storage Access API.

מידע נוסף על השימוש ב-FedCM להקצאת גישה לאחסון באופן אוטומטי זמין במסמכי התיעוד של Storage Access API.

יצירת מעורבות ושליחת משוב

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