FedCM:Chrome 131 中 Storage Access API 的信任信號

Natalia Markoborodova
Natalia Markoborodova

來源測試成功後,Chrome 131 現已使用 FedCM 做為 Storage Access API 的信任信號

Storage Access API (SAA) 可讓跨來源 iframe 在瀏覽器設定拒絕存取權時,要求儲存空間存取權。

部分網站可能會同時使用 FedCM 進行驗證,並使用 SAA 允許跨來源 iFrame 存取必要的儲存空間。舉例來說,如果 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 開發人員指南,以及累積更新記錄頁面