我們推出幾項 FedCM 更新,包括自動重新驗證的新來源試用。
Federated Credential Management API (FedCM) 是 適用於隱私權保護身分聯盟的 Web API。加入身分聯盟之後 RP (依賴方) 會透過 IdP (識別資訊提供者) 為使用者提供 帳戶,無須設定新的使用者名稱和密碼。
FedCM 是專為特定用途打造的 API,可讓瀏覽器瞭解 將 RP 和 IdP 交換資訊,告知使用者 資訊和權限層級,可防止無意間濫用。
更新
Chrome 的 FedCM 實作方式有以下幾項更新:
- 用於 ID 斷言
端點,IdP 就必須
檢查
Origin
標頭 (而不是Referer
標頭) 來確認 值與用戶端 ID 的來源相符。 - 新的 Chrome 旗標
已新增
chrome://flags/#fedcm-without-third-party-cookies
,有了這個標記,您就能 在 Chrome 中封鎖第三方,以測試 FedCM 功能 Cookie。
如需 API 的所有更新記錄,請參閱「Federated Credential Management」 API 更新。
最新版本的 FedCM 包含新的自動重新驗證功能,當使用者透過 FedCM 初次驗證後再次重新驗證時,這項功能可以自動重新驗證使用者。自 Chrome 112 版起,自動重新驗證是開放試用的功能。
自動重新驗證
目前,使用者透過 IdP 在 RP 上建立聯合帳戶 透過 FedCM, 引導他們前往網站完成相同步驟 也就是說,他們需要明確確認並重新驗證 繼續登入流程。身為 FedCM 的目標,是防止隱密追蹤,因此在使用者之前的使用者體驗 (UX) 執行得很合理 建立了聯合帳戶,但在使用者擁有 一路過關斬將使用者授予通訊權限後 RP 和 IdP 之間不會有隱私權或安全性方面的助益。 強迫其他的使用者確認,要求他們實際購買某項產品/服務 先前確認過因此 Chrome 即將推出更精簡的操作方式 RP 可為回訪者選擇的使用者體驗。
FedCM 自動重新驗證 (簡稱「auto-reauthn」) 會自動重新驗證使用者 (如果 RP 已啟用的話), 在使用 FedCM 完成初次驗證後返回的時間。「最初 驗證」這表示使用者建立帳戶,或登入 RP 的 ,在 FedCM 登入對話方塊中輕觸「以下列身分繼續...」按鈕 在同一瀏覽器執行個體上 首次使用同一個應用程式

受限方可以使用 autoReauthn: true
呼叫 navigator.credentials.get()
,要求自動重新驗證。
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 分鐘內進行自動重新驗證。
符合上述條件時,系統會嘗試自動重新驗證
FedCM navigator.credentials.get()
一叫用,就會啟動。
立即試用
您可以開啟 Chrome 瀏覽器,即可在本機試用 FedCM 自動重新驗證
旗標 chrome://flags#fedcm-auto-re-authn
Chrome 112 以上版本。
對於測試用途,您可以透過移除 瀏覽器資料
- 前往
chrome://history
。 - 在搜尋記錄方塊中輸入受限方的起點。
- 按一下三點圖示 ⋮,然後選取「從記錄中移除」。
- 重新啟動 Chrome。
參與來源試用
您也可以加入第三方,在網站上啟用這項功能 Chrome 112 開始提供來源試用 而是透過 Chrome 114 存取
來源試用可讓您試用新功能,並就網路標準社群的可用性、實用性和有效性提供意見回饋。詳情請參閱網頁程式開發人員的來源試用指南。如要申請試用或其他來源試用方案,請前往註冊頁面。
註冊第三方來源 試用服務,然後啟用這項功能 第三方合作夥伴:
- 前往來源試用註冊頁面。
- 按一下「Register」按鈕,並填寫表單以要求權杖
- 將供應來源輸入為「網站來源」。
- 勾選「第三方比對」,即可在其他來源上透過 JavaScript 插入權杖。
- 按一下 [提交]。
- 將核發的權杖嵌入第三方平台。
如要將權杖嵌入第三方,請將下列程式碼新增至 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」元件。