Federated Credential Management API 已在 Chrome 中出貨 108,但預計還會繼續 不斷進化我們沒有規劃任何破壞性變更。
有哪些最新消息?
如果符合以下情況,就適合使用更新功能:
- 您是使用 Federated Credential Management API 的 IdP。
- 您是 IdP 或 RP,並且有意擴充 API 來滿足自己的使用需求 大小寫,例如:你已經觀察或參加了 FedID CG 存放區的討論 並想瞭解對 API 所做的變更
- 您是瀏覽器供應商,且想要瞭解導入情況 以及 API 狀態
如果您是第一次使用這個 API,或尚未試用過,請參閱 Federated Credential Management API 簡介。
變更記錄
如要掌握 FedCM API 的最新消息,請參閱 網誌或 電子報。
Chrome 125 (2024 年 4 月)
- 因為規格已更新「帳戶清單端點」的名稱變更「帳戶」 端點」時,我們的說明文件也會跟著對齊。
- Button Mode API 的來源試用適用於 Chrome 電腦版 125。學習新知 詳情請參閱 FedCM 更新:Button Mode API 來源試用、CORS 和 SameSite。
- CORS: ID 斷言端點 開始使用 Chrome 125
- Chrome 只會將明確標示為
SameSite=None
的 Cookie 傳送給ID 斷言端點和 帳戶端點正在啟動 。
Chrome 123 (2024 年 2 月)
- 開始支援 Domain Hint API。網域提示
API 允許 RP
在 FedCM API 呼叫上指定
domainHint
屬性,只顯示相符的結果 帳戶。
Chrome 122 (2024 年 1 月)
- 新增對中斷連線 API 的支援功能。斷層 API 可讓您 讓 RP 在不依賴的情況下將使用者與 IdP 帳戶連結 第三方 Cookie
- 檢查中
/.well-known/web-identity
現在當 RP 和 IdP 相同時,就會略過。 - 子資源現在可以設定相同網站登入 狀態。
Chrome 121 (2023 年 12 月)
- 觸發 FedCM 自動重新驗證的寬鬆條件:
- 自動重新驗證功能
只有在使用者回訪時,系統才會觸發 FedCM。這表示使用者
在每個瀏覽器執行個體上都需使用 FedCM 登入 RP 一次
才能觸發自動重新驗證最初的情況
以降低追蹤器偽裝成身分的風險
提供者 (IdP),並誘騙瀏覽器自動重新驗證使用者
無須不知所得或同意然而,此設計無法保證
如果追蹤程式能夠存取
受限方背景。FedCM 只提供部分功能
因此如果追蹤程式已經有權存取第三方 Cookie
RP 情境上的 Cookie,而 FedCM 的存取權並未呈現額外的隱私權
風險。
因為有合法使用第三方 Cookie,而且放寬限制 會根據 Chrome 121 版調整這項行為,提升使用者體驗。 我們決定放寬條件限制,將使用者視為 傳回:如果 RP 上的 IdP 可以使用第三方 Cookie Chrome 將信任 IdP 的使用者帳戶狀態聲明 透過approved_clients
清單指定並觸發自動重新驗證 (如適用)。第三方 Cookie 可透過使用者設定、 企業政策、經驗法則 (Safari、 Firefox、 Chrome) 及其他網路平台 API (例如 Storage Access API)。注意事項 日後如果 IdP 無法存取第三方 Cookie, 從未在 FedCM UI 上明確授予權限 (例如, 點選「以下列身分繼續」按鈕) 之前,仍會視為 新使用者。
開發人員不需要採取任何行動。請注意,自動重新驗證流程 如果 IdP 具有第三方 Cookie 存取權,就能觸發更多 且宣稱使用者過去曾建立 RP 帳戶。
- 自動重新驗證功能
只有在使用者回訪時,系統才會觸發 FedCM。這表示使用者
在每個瀏覽器執行個體上都需使用 FedCM 登入 RP 一次
才能觸發自動重新驗證最初的情況
以降低追蹤器偽裝成身分的風險
提供者 (IdP),並誘騙瀏覽器自動重新驗證使用者
無須不知所得或同意然而,此設計無法保證
如果追蹤程式能夠存取
受限方背景。FedCM 只提供部分功能
因此如果追蹤程式已經有權存取第三方 Cookie
RP 情境上的 Cookie,而 FedCM 的存取權並未呈現額外的隱私權
風險。
Chrome 120 (2023 年 11 月)
- 在 Chrome 120 中新增下列三項功能的支援:
- Login Status API:登入狀態
API 是一種
網站 (尤其是 IdP) 會通知瀏覽器使用者的
登入狀態。導入這個 API,瀏覽器就能減少不必要的要求,例如:
並減輕潛在的時間攻擊。Login Status API 是一種
以及 FedCM 的相關規定
這項變更實施後,
chrome://flags/#fedcm-without-third-party-cookies
旗標 也不再需要啟用 FedCM。 - Error API:Error API API 會收到通知 使用者可以透過瀏覽器使用者介面瞭解 IdP 提供的錯誤資訊。
- Auto-Selected Flag API:Auto-Selected Flag API API 分享這項資訊是否取得使用者明確許可,方法是輕觸 每當自動重新驗證時,含有 IdP 和 RP 的「Continue as」按鈕 或是發生明確中介服務只會在使用者後共用 已授予 IdP 和 RP 通訊的權限。
- Login Status API:登入狀態
API 是一種
網站 (尤其是 IdP) 會通知瀏覽器使用者的
登入狀態。導入這個 API,瀏覽器就能減少不必要的要求,例如:
並減輕潛在的時間攻擊。Login Status API 是一種
以及 FedCM 的相關規定
這項變更實施後,
Chrome 117 (2023 年 9 月)
- Android 裝置自 Chrome 117 起開始支援 Idp Sign-In Status API 的來源試用。詳情請參閱 FedCM 更新:IdP Sign-In Status API、Login Hint 等。
Chrome 116 (2023 年 8 月)
- 已在 Chrome 116 中新增下列三項功能的支援:
- Login Hint API:指定要登入的偏好使用者帳戶。
- User Info API:擷取回訪者的資訊,讓識別資訊提供者 (IdP) 在 iframe 中轉譯個人化登入按鈕。
- RP Context API:請使用與「登入」不同的標題「FedCM」對話方塊
- IdP Sign-In Status API 的來源試用可以使用。詳情請參閱 FedCM 更新:IdP Sign-In Status API、Login Hint 等。
Chrome 115 (2023 年 6 月)
- 新增自動重新驗證功能,讓使用者在使用 FedCM 進行初次驗證後,自動重新驗證。這麼做可以改善使用者體驗,並在初始驗證完成後,讓 RP 重新驗證機制更加簡化。進一步瞭解 FedCM 自動重新驗證。
Chrome 110 (2023 年 2 月)
- 如果是 ID 斷言端點,IdP 需要檢查
Origin
標頭 (而不是Referer
標頭),確認值是否與用戶端 ID 的來源相符。 - FedCM 的跨來源 iframe 支援功能現已推出。
嵌入器應指定
Permissions-Policy
identity-credentials-get
:允許在嵌入式跨來源中使用 FedCM API iframe。您可以參考這裡的範例 跨來源 iframe。 - 已新增 Chrome 標記
chrome://flags/#fedcm-without-third-party-cookies
。有了這個標記,您可以測試 Chrome 的 FedCM 功能 封鎖第三方 Cookie詳情請參閱 FedCM 說明文件。
Chrome 108 (2022 年 10 月)
- 「頂層資訊清單」現已改名為「已知檔案」。 這不需要變更導入作業。
- 「IdP 資訊清單」現在稱為「設定檔」。否 導入作業必須加以變更
- 「設定檔」中的
id_token_endpoint
已重新命名為id_assertion_endpoint
。 - 向 IdP 發出的要求現在包含
Sec-Fetch-Dest: webidentity
敬上 而非Sec-FedCM-CSRF: ?1
標頭
Chrome 105 (2022 年 8 月)
- 在文件中加入重要的安全性資訊。身分
提供者 (IdP) 必須檢查
Referer
標頭是否與來源相符 之前登錄的 RP ID 權杖端點 - 頂層資訊清單已從
/.well-known/fedcm.json
重新命名為/.well-known/web-identity
和provider_urls
中指定的網址應該 請附上檔案名稱 login()
、logout()
和FederatedCredential
上的revoke()
方法 執行個體已無法使用- Federated Credential Management API 現在使用新類型
IdentityCredential
取代FederatedCredential
。這可用於 但沒有明顯變化 - 將登入功能移出
「
navigator.credentials.get()
」和 將FederatedCredential.prototype.login()
重新命名為navigator.credentials.get()
。 - 資訊清單中的撤銷端點已失效。
- 針對以下項目使用
identity
欄位,而非federated
欄位:navigator.credentials.get()
呼叫。 - 「
url
」現在是這樣configURL
且必須是資訊清單 JSON 檔案的完整網址,而不是navigator.credentials.get()
呼叫。 nonce
敬上 現在是navigator.credentials.get()
的選用參數。- 「
hint
」已不再提供以下選項:navigator.credentials.get()
。
const credential = await navigator.credentials.get({
identity: {
providers: [{
configURL: 'https://idp.example/anything.json',
clientId: '********',
nonce: '******'
}]
}
});
const { token } = credential;
Chrome 104 (2022 年 6 月)
- 傳送至 ID 權杖端點的
consent_acquired
參數現已disclosure_text_shown
。 這個值保持不變。 - 套用品牌圖示 IdP 資訊清單 不再支援 SVG 圖片,但如此一來, 受限方 內容安全政策。
Chrome 103 (2022 年 5 月)
- 支援桌面環境。
- 支援電腦上的每個每秒要求數設定。
- 用戶端中繼資料端點 現在則為選用項目在這個端點中,你也可以選擇是否提供隱私權政策網址。
- 新增在文件中使用 CSP
connect-src
的注意事項。