提供隱私權保護身分聯盟的網路 API。
什麼是 FedCM?
FedCM (Federated Credential Management) 是聯合身分識別服務 (例如「使用...登入」) 的隱私權保護做法,可讓使用者登入網站而不將個人資訊提供給身分識別服務或網站。
導入狀態
- Chrome 平台狀態
- FedCM 在 Chrome 108 版中已出貨。
- FedCM 提案開放公開討論。
- 其他瀏覽器目前尚不支援 FedCM。
- Mozilla 正為 Firefox 和 Apple 提供一般支援,並表示有興趣一起參與 FedCM 提案。
我們打算在日後根據識別資訊提供者 (IdP)、依賴方 (RP) 和瀏覽器廠商提供的意見回饋,推出多項新功能。雖然我們期望識別資訊提供者將採用 FedCM,但請注意,FedCM 目前仍在積極開發階段,且預計到 2023 年第 4 季前將回溯不相容的變更。
為了盡可能減少部署回溯不相容的變更時,我們針對識別資訊提供者提供兩項建議:
- 訂閱我們的電子報,我們會隨著 API 演進來傳送最新資訊。
- 我們建議 IdP 在 API 發展成熟時透過 JavaScript SDK 發布 FedCM API,並避免讓自我託管 SDK 使用 RP。這可確保 IdP 能隨著 API 的演進進行變更,而無須要求所有依賴方重新部署。
為什麼需要使用 FedCM?
在過去十年裡,與自家網站上的使用者名稱和密碼相比,身分聯盟在提高網路驗證標準方面扮演著重要的角色,其重點在於可信任性、易於使用 (例如無密碼的單一登入) 和安全性 (例如加強對網路釣魚和憑證填充攻擊的抵禦能力)。
使用身分聯盟時,RP (依賴方) 依賴 IdP (識別資訊提供者) 來為使用者提供帳戶,而不必要求新的使用者名稱和密碼。
遺憾的是,由於身分聯盟機制 (iframe、重新導向和 Cookie) 經常遭到濫用身分聯盟,藉此追蹤使用者在網路上的行為。由於使用者代理程式無法區分身分聯盟和追蹤,因此各種濫用行為的因應措施會讓身分聯盟部署更加困難。
Federated Credential Management API (FedCM) 會公開瀏覽器中介對話方塊,讓使用者選擇從 IdP 登入的網站以選擇用於登入網站的聯合身分流程,進而提供特定用途的專屬抽象層。
FedCM 是一項多步驟的歷程,能夠強化網路身分。因此,我們第一步的重點是降低第三方 Cookie 逐步淘汰聯合身分的影響 (請參閱「藍圖」一節,瞭解進一步的步驟)。
我們預期會發生什麼情況?
我們透過社群努力和研究結果,發現,第三方 Cookie 逐步退場後,有幾個身分聯盟相關整合會受到影響:
FedCM 的第一項目標是降低逐步停用第三方 Cookie 對身分聯盟的影響,而上述清單列出我們預期會受到影響的部分。如果還有我們未列出的其他用途,建議您互動並提供意見。
誰適合使用 FedCM?
只有在符合下列「所有」條件時,FedCM 才有實用價值:
- 您是識別資訊提供者 (IdP)。
- 逐漸淘汰第三方 Cookie 對您造成影響。
- 您的 RP 屬於第三方網站。如果您的 RP 是有意義的網站,可能會使用相關網站集提供更符合需求的服務。
您是 IdP
FedCM 需要識別資訊提供者支援。依賴方無法獨立使用 FedCM。如果您是 RP,可以要求 IdP 提供操作說明。
逐漸淘汰第三方 Cookie 對您的影響
只有在現有整合會受到第三方 Cookie 淘汰的影響時,才應使用 FedCM。
如果不確定身分聯盟在 Chrome 的第三方 Cookie 淘汰後是否會繼續運作,您可以在 Chrome 中封鎖第三方 Cookie,藉此測試網站的效果。
在沒有第三方 Cookie 的情況下,如果身分聯盟沒有可發現的影響,您可以在沒有 FedCM 的情況下繼續使用目前的整合服務。
如果不確定該檢查哪些項目,請參閱這篇文章,進一步瞭解淘汰作業預期會受到影響的已知功能。
您的受限方屬於第三方
如果您是識別資訊提供者,且 RP 與 IdP 有第一方關係,相關網站集可能會是更好的選項。相關網站集 (RWS) 可讓組織宣告網站間的關係,讓瀏覽器允許有限的第三方 Cookie 存取特定目的。這樣一來,第三方 Cookie 就能在多組有意義的相關網站之間運作,即使已逐步淘汰第三方 Cookie 也一樣。
使用者如何與 FedCM 互動?
目前,FedCM 的主要重點是降低第三方 Cookie 逐步停用時造成的影響。使用者可以在 Chrome 使用者設定中啟用或停用 FedCM。
FedCM 經過特別設計,適用於跨通訊協定,並提供下列驗證相關功能。
觀看我們的示範影片,瞭解運作方式。
登入依賴方
使用者到達依賴方 (RP) 網站時,如果使用者已登入 IdP,就會顯示 FedCM 登入對話方塊。
如果使用者沒有具有 IdP 的 RP 帳戶,註冊對話方塊就會顯示額外的揭露文字,例如 RP 的服務條款和隱私權政策 (如有提供)。
使用者可以輕觸「以...繼續」完成登入程序。如果成功,瀏覽器會儲存使用者已使用 IdP 的 RP 建立聯合帳戶。
RP 應在不支援 FedCM 的瀏覽器上運作。使用者應該要能使用現有的非 FedCM 登入程序。進一步瞭解 FedCM 中的登入功能運作方式。
啟用或停用 FedCM 的設定
使用者可以在 Android 版 Chrome 設定中啟用或停用 FedCM。依序前往「設定」 >「網站設定」 >「第三方登入」,然後變更切換鈕。
![切換第三方登入,在行動裝置上的 Chrome 設定中啟用 FedCM](https://developers.google.cn/static/privacy-sandbox/assets/images/enable-fedcm-chrome-sett-acb36abf28b59.jpg?authuser=5&hl=zh-tw)
他們也可以前往 chrome://settings/content/federatedIdentityApi
,透過電腦版 Chrome 進行相同操作。
![切換第三方登入,在電腦上的 Chrome 設定中啟用 FedCM](https://developers.google.cn/static/privacy-sandbox/assets/images/enable-fedcm-chrome-sett-ebbf4834f6f21.png?authuser=5&hl=zh-tw)
發展藍圖
我們正在努力實現 FedCM 的幾項異動。
已根據意見回饋套用多項更新。此外,預計在 2023 年第 4 季持續改善,至少會保持穩定。詳情請參閱 更新內容。
- 變更記錄:Federated Credential Management API 更新。
目前仍有一些必須完成的事項,包括我們從 IdP、RP 和瀏覽器廠商反映的問題。我們認為瞭解如何解決這些問題:
- 跨來源 iframe 支援:IdP 可以在跨來源 iframe 中呼叫 FedCM (update)。
- 個人化按鈕:IdP 可以在 IdP 擁有的跨來源 iframe (更新) 內的登入按鈕中顯示回訪使用者的身分。
- 指標端點:為 IdP 提供成效指標。
此外,我們正在積極探索還有尚未解決的問題,包括正在評估或設計原型的特定提案:
- CORS:我們正在與 Apple 和 Mozilla 討論,以確保改善 FedCM 擷取作業的規格。
- 多重 IdP API:我們正在探索如何支援多個 IdP,進而透過 FedCM 帳戶選擇工具並存。
- IdP Sign-in Status API:Mozilla 發現了攻擊問題,因此正設法讓 IdP 主動通知瀏覽器使用者登入狀態,藉此緩解問題。(更新)
- 登入 IdP API:為了支援各種情境,當使用者未登入 IdP 時,瀏覽器會提供使用者介面,讓使用者不必離開 RP 即可登入。
最後,我們根據 Mozilla、Apple 和 TAG 審查人員的意見回饋,認為我們仍需做一些調整。我們正在針對以下開放式問題評估最佳解決方案:
- 提升使用者理解力和比對意圖:如 Mozilla 中所指出,我們想繼續探索不同的使用者體驗公式、途徑區域,以及觸發條件。
- 身分屬性和選擇性揭露事項:如同TAG 審查人員所述,我們現在想提供特定機制,視需求分享更多或較少的身分屬性,例如電子郵件、年齡層、電話號碼等。
- 提高隱私權屬性:根據 Mozilla 的建議 這裡,我們會持續探索相關機制,提供更更完善的隱私權保證,例如 IdP 盲、導向 ID。
- 與 WebAuthn 的關係:如 Apple 的建議,我們非常期待看到密碼金鑰的進展,同時致力在 FedCM、密碼、WebAuthn 和 WebOTP 之間提供連貫一致的體驗。
- 登入狀態:Apple 建議使用 Privacy CG 的 Login Status API 建議,讓使用者知道使用者的登入狀態是實用資訊,可協助瀏覽器在充分掌握資訊的情況下做出決定,而我們迫不及待想瞭解改革背後的契機。(更新)
- 企業和教育:如 FedID CG 清楚所述,FedCM 仍有許多我們想要解決的許多使用案例,例如前端登出 (IdP 將訊號傳送給 RP 傳送訊號) 和 SAML 支援服務。
- 與 mDL/VCs 等的關係:繼續瞭解這些內容在 FedCM 中的應用方式,例如使用 Mobile Document Request API。
使用 FedCM API
您必須在 Chrome 的 IdP 和 RP 上設定安全的內容 (HTTPS 或 localhost),才能使用 FedCM。
如要與 FedCM 整合,您需要為帳戶清單、宣告核發作業和選擇性的用戶端中繼資料建立已知的檔案、設定檔和端點。接著,FedCM 會公開 JavaScript API,讓 RP 能夠以 IdP 登入。
如要瞭解如何使用 FedCM API,請參閱 FedCM 開發人員指南。
互動並提供意見
- GitHub:閱讀說明和提出問題並追蹤討論。
- 開發人員支援:透過 Privacy Sandbox 開發人員支援存放區提問及參與討論。
遵守電子通訊隱私法律
使用 FedCM 做為 IdP 或 RP 會涉及儲存使用者的終端機設備資訊,或存取儲存在其中的資訊。因此,這類活動必須遵守歐洲經濟區 (EEA) 和英國的電子隱私權法律,而且一般需要使用者同意。您必須負責判斷使用 FedCM 是否確實必要提供使用者明確要求的線上服務,因此不受同意聲明規定規範。詳情請參閱 Privacy Sandbox 隱私權相關法規遵循常見問題。