Federated Credential Management API 更新

Federated Credential Management API 已在 Chrome 108 中推出,但我們預計會持續改良。我們沒有規劃任何破壞性變更。

有哪些最新消息?

如果符合以下情況,就適合使用更新功能:

  • 您是使用 Federated Credential Management API 的 IdP。
  • 您是 IdP 或 RP,且有興趣擴充 API 以滿足您的用途。例如,您持續觀察或參與 FedID CG 存放區的討論,並想瞭解對 API 所做的變更。
  • 您是瀏覽器廠商,想要瞭解 API 的實作狀態。

如果您是第一次使用這個 API,或尚未試用過這個 API,請參閱 Federated Credential Management API 簡介

變更記錄

如要掌握 FedCM API 的最新異動,請查看我們的網誌電子報

Chrome 125 (2024 年 4 月)

Chrome 123 (2024 年 2 月)

  • 開始支援 Domain Hint APIDomain Hint API 可讓 RP 在 FedCM API 呼叫中指定 domainHint 屬性,只顯示使用者相符的帳戶。

Chrome 122 (2024 年 1 月)

  • 新增對中斷連線 API 的支援功能。Connected API 可讓 RP 中斷使用者與 IdP 的帳戶連線,而不必依賴第三方 Cookie。
  • 現在,如果 RP 和 IdP 位於相同,系統就會略過檢查 /.well-known/web-identity
  • 子資源現在可以設定相同網站的登入狀態

Chrome 121 (2023 年 12 月)

  • 觸發 FedCM 自動重新驗證的寬鬆條件:
    • 只有在使用者返回時,FedCM 中的自動重新驗證功能才會觸發。這表示使用者必須在每個瀏覽器執行個體上使用 FedCM 登入 RP 一次,才能觸發自動重新驗證。這個狀況最初引進這個狀況,可降低追蹤器偽裝成識別資訊提供者 (IdP) 的風險,並誘騙瀏覽器在使用者不知情或未同意的情況下,進行自動重新驗證。不過,如果追蹤器可在 RP 情境下存取第三方 Cookie,此設計無法保證隱私權也能因此受益。FedCM 只提供透過第三方 Cookie 實現的部分功能,因此如果追蹤器已能存取 RP 內容上的第三方 Cookie,FedCM 的存取權就不會產生額外的隱私權風險。
      由於第三方 Cookie 有正當使用行為,並放寬條件將改善使用者體驗,因此這項行為將從 Chrome 121 版開始調整。我們已決定放寬將使用者視為回訪的條件限制:如果 IdP 對 RP 內容上的 IdP 可以使用第三方 Cookie,Chrome 就會信任 IdP 透過 approved_clients 清單指定的使用者帳戶狀態憑證,並在適用的情況下觸發自動重新驗證。第三方 Cookie 可透過使用者設定、企業政策、經驗法則 (SafariFirefoxChrome) 和其他網路平台 API (例如 Storage Access API) 存取。請注意,當 IdP 日後失去第三方 Cookie 存取權時,如果使用者從未在 FedCM UI 上明確授予權限 (例如按一下「繼續為」按鈕),系統仍會將這類 Cookie 視為新使用者。
      開發人員無須採取任何行動。請注意,如果 IdP 具有第三方 Cookie 存取權,並聲稱使用者先前已在 RP 上建立帳戶,則這項變更可能會更觸發自動重新驗證流程。

Chrome 120 (2023 年 11 月)

  • 在 Chrome 120 中新增對下列三項功能的支援:
    • Login Status APILogin Status API 是一種機制,可讓網站 (尤其是 IdP) 通知瀏覽器使用者的登入狀態。透過這個 API,瀏覽器可以減少對 IdP 的非必要要求,並減輕潛在的時間攻擊。使用 FedCM 時必須使用 Login Status API。這項變更實施後,當第三方 Cookie 遭到封鎖後,不再需要啟用 chrome://flags/#fedcm-without-third-party-cookies 旗標就能啟用 FedCM。
    • Error APIError API 會顯示瀏覽器 UI 和 IdP 提供的錯誤資訊,藉此通知使用者。
    • Auto-Selected Flag APIAuto-Selected Flag 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。這個標記可封鎖第三方 Cookie,藉此測試 Chrome 的 FedCM 功能。詳情請參閱 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 標頭是否與在 ID 權杖端點上註冊的 RP 相符。
  • 頂層資訊清單已從 /.well-known/fedcm.json 重新命名為 /.well-known/web-identity,且 provider_urls 中指定的網址應包含檔案名稱。
  • FederatedCredential 執行個體上的 login()logout()revoke() 方法已無法使用。
  • Federated Credential Management API 現在使用新的類型 IdentityCredential,而不是 FederatedCredential。這可用於特徵偵測,但在其他情況下不太可能會有明顯變化。
  • 將登入功能從 navigator.credentials.get()FederatedCredential.prototype.login() 的組合移至 navigator.credentials.get()
  • 資訊清單中的撤銷端點已失效。
  • 對於 navigator.credentials.get() 呼叫,請使用 identity 欄位,而不是 federated 欄位。
  • 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 的注意事項。

資源