Federated Credential Management API 更新

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 月)

Chrome 123 (2024 年 2 月)

  • 開始支援 Domain Hint API網域提示 API 允許 RP 在 FedCM API 呼叫上指定 domainHint 屬性,只顯示相符的結果 帳戶。

Chrome 122 (2024 年 1 月)

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 可透過使用者設定、 企業政策、經驗法則 (SafariFirefoxChrome) 及其他網路平台 API (例如 Storage Access API)。注意事項 日後如果 IdP 無法存取第三方 Cookie, 從未在 FedCM UI 上明確授予權限 (例如, 點選「以下列身分繼續」按鈕) 之前,仍會視為 新使用者。
      開發人員不需要採取任何行動。請注意,自動重新驗證流程 如果 IdP 具有第三方 Cookie 存取權,就能觸發更多 且宣稱使用者過去曾建立 RP 帳戶。

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 APIError API API 會收到通知 使用者可以透過瀏覽器使用者介面瞭解 IdP 提供的錯誤資訊。
    • Auto-Selected Flag APIAuto-Selected Flag API API 分享這項資訊是否取得使用者明確許可,方法是輕觸 每當自動重新驗證時,含有 IdP 和 RP 的「Continue as」按鈕 或是發生明確中介服務只會在使用者後共用 已授予 IdP 和 RP 通訊的權限。

Chrome 117 (2023 年 9 月)

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-identityprovider_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 月)

Chrome 103 (2022 年 5 月)

  • 支援桌面環境。
  • 支援電腦上的每個每秒要求數設定。
  • 用戶端中繼資料端點 現在則為選用項目在這個端點中,你也可以選擇是否提供隱私權政策網址。
  • 新增在文件中使用 CSP connect-src 的注意事項。

資源