用於隱私權保護身分識別連結的網路 API。
什麼是 FedCM?
FedCM (聯合憑證管理) 是一種隱私權保護方法,可用於不依賴第三方 Cookie 或導覽重新導向的聯合身分服務 (例如「使用...登入」)。
導入狀態
- Chrome 平台状态
- Chrome 108 中已提供 FedCM。
- FedCM 提案可供公开讨论。
- 其他浏览器尚不支持 FedCM。
- Mozilla 正在实现 Firefox 的原型,并且 Apple 已表示对就 FedCM 提案展开合作的普遍支持和兴趣。
日後,我們將根據來自識別資訊提供者 (IdP)、依附方 (RP) 和瀏覽器供應商的意見回饋,推出多項新功能。雖然我們希望身分識別提供者採用 FedCM,但請注意,FedCM 仍是處於開發階段的 API。
為了盡量減少部署回溯不相容性變更的難度,我們提供兩項建議給身分識別資訊提供者:
- 請訂閱我們的電子報,我們會在 API 更新時傳送相關資訊。
- 我們建議 ID 提供者在 API 成熟時使用 JavaScript SDK 發布 FedCM API,並建議 RP 不要自行代管 SDK。這可確保 IdP 可隨著 API 演進而進行變更,而無須要求所有依賴方重新部署。
為什麼需要 FedCM?
過去十年來,與個別網站的使用者名稱和密碼相比,在可信度、易用性 (例如無密碼單一登入) 和安全性 (例如提升對網路釣魚和憑證填充攻擊的防禦能力) 方面,身分聯播功能在提升網站驗證門檻方面發揮了關鍵作用。
透過身分聯盟,RP (依賴方) 可依賴 IdP (身分提供者) 為使用者提供帳戶,而不需要要求使用者輸入新的使用者名稱和密碼。
很遺憾,身分聯合機制所依賴的機制 (iframe、重新導向和 Cookie) 正遭到濫用,用於追蹤網際網路上的使用者。由於使用者代理程式無法區分身分聯盟和追蹤,因此針對各種濫用行為的緩解措施會讓身分聯盟的部署作業更加困難。
Federated Credential Management API (FedCM) 會公開瀏覽器中介的對話方塊,讓使用者從 IdP 中選擇帳戶,以便登入網站,藉此為網頁上的聯合身分流程提供用例專屬的抽象。
FedCM 是一項多步驟流程,可改善網路上的身分資訊。在第一步中,我們將著重於減少第三方 Cookie 限制對聯合身分的影響 (如要進一步瞭解其他步驟,請參閱路線圖部分)。
哪些項目會受到影響?
透過社群的努力和我們的研究,我們發現有幾個與身分識別整合相關的整合功能受到第三方 Cookie 限制的影響:
FedCM 的第一個目標,是減少第三方 Cookie 限制對 ID 聯合功能的影響,而這些是我們預期會受到影響的領域。如果有未列於清單中的其他用途,您可以與我們互動並提供意見回饋。
將 FedCM 做為其他 API 的信任信號
除了處理聯合身分,FedCM 也能做為其他 Privacy Sandbox API 的信任信號。
自 Chrome 131 版起,Storage Access API (SAA) 會使用 FedCM 做為信任訊號。這項整合功能適用於同時仰賴 FedCM 進行驗證,以及使用 SAA 啟用跨來源 iframe 來存取必要儲存空間的網站。
當使用者透過 FedCM 進行驗證,且已選擇加入 RP 時,RP 網站上嵌入的 IdP 內容就能呼叫 requestStorageAccess()
方法,自動取得儲存空間存取權,不必再另外顯示使用者提示。只有在使用者透過 FedCM 登入且 FedCM 登入狀態為有效時,系統才會自動授予權限。詳情請參閱 Storage Access API 說明文件。
哪些人應該使用 FedCM?
只有在符合下列「所有」條件時,FedCM 才會對您有所助益:
- 您是識別資訊提供者 (IdP)。
- 您受到第三方 Cookie 限制的影響。
- 你的 RP 是第三方網站。如果您的 RP 是與您網站相關的網站,您可能會更適合使用相關網站組合。
您是 IdP
FedCM 需要識別資訊提供者的支援。依賴方無法獨立使用 FedCM。如果您是 RP,可以請 ID 提供者提供操作說明。
受到第三方 Cookie 限制的影響
只有在目前整合受到第三方 Cookie 限制時,才應使用 FedCM。
如果您不確定在無法使用第三方 Cookie 的情況下,身分識別聯合作業是否仍能正常運作,可以在 Chrome 中封鎖第三方 Cookie,測試對網站的影響。
如果您發現不使用第三方 Cookie 對身分聯合沒有任何影響,可以繼續使用目前的整合功能,而無須使用 FedCM。
如果不確定要檢查哪些項目,請進一步瞭解第三方 Cookie 限制可能會影響的已知功能。
您的 RP 是第三方
如果您是身分識別提供者,且 RP 與 IdP 之間有第一方關係,建議您使用相關網站組合。相關網站集合 (RWS) 是機構宣告網站之間關係的方式,讓瀏覽器允許基於特定目的的第三方 Cookie 有限存取權。這樣一來,即使第三方 Cookie 受到限制,也能讓第三方 Cookie 在相關網站中運作。
使用者如何與 FedCM 互動?
FedCM 的主要重點是減輕第三方 Cookie 限制的影響。使用者可以在 Chrome 的使用者設定中啟用或停用 FedCM。
FedCM 設計為不依附通訊協定,並提供下列驗證相關功能。
觀看示範影片,瞭解這項功能的運作方式。
登入信任方
FedCM 有兩種 UI 模式:
被動模式:在被動模式下,FedCM 提示會在使用者不必互動時顯示。當使用者造訪依賴方 (RP) 網站時,系統會在呼叫 navigator.credentials.get()
且使用者登入 IdP 後,顯示 FedCM 登入對話方塊。
啟用模式。在啟用模式下,您必須透過使用者互動 (例如按下按鈕) 才能觸發 FedCM 提示。
如果使用者在 ID 提供者提供的 RP 上沒有帳戶,系統會顯示註冊對話方塊,並顯示額外的揭露文字,例如 RP 的服務條款和隱私權政策 (如果提供的話)。
使用者只要輕觸「繼續以...身分登入」,即可完成登入程序。如果成功,瀏覽器就會儲存使用者已透過 IdP 在 RP 上建立了聯合帳戶的事實。
RP 應可在不支援 FedCM 的瀏覽器上運作。使用者應可在這些瀏覽器上使用現有的非 FedCM 登入程序。進一步瞭解 FedCM 中的登入功能運作方式。
啟用或停用 FedCM 的設定
使用者可以在被動模式下啟用或停用 FedCM。這不會影響主動模式,因為登入要求是由使用者手勢啟動,且瀏覽器應協助使用者完成登入流程。
電腦
使用者可以在 chrome://settings/content/federatedIdentityApi
中啟用或停用 Chrome 的 FedCM。
Android
如要在 Android 版 Chrome 中啟用或停用 FedCM,使用者可以依序前往 Chrome 的「設定」>「網站設定」>「第三方登入」,然後變更切換按鈕。
提示等待期
如果使用者手動關閉 UI,系統會暫時將項目新增至設定 UI,並在一段時間內不會在同一網站中顯示 UI。在該期間過後,系統會重新啟用 UI,但連續關閉的時間會以指數方式延長。例如,在 Chrome 中:
連續關閉次數 | FedCM 提示停用的時間 |
---|---|
1 | 兩小時 |
2 | 1 天 |
3 | 1 週 |
4+ | 四週 |
其他瀏覽器可能會定義不同的冷卻時間。
使用者可以前往設定頁面,或按一下 PageInfo UI (網址列旁的鎖頭圖示) 並重新設定權限,在 RP 上手動重新啟用 FedCM。
發展藍圖
我們正在對 FedCM 進行多項變更。詳情請參閱「更新」。
- 變更記錄:Federated Credential Management API 更新。
我們知道仍有幾項工作需要完成,包括 ID 提供者、RP 和瀏覽器供應商所提及的問題。我們認為我們知道如何解決這些問題:
- 跨來源 iframe 支援:IdP 可在跨來源 iframe 中呼叫 FedCM (更新)。
- 個人化按鈕:IdP 可在 IdP 擁有的跨來源 iframe 中,透過登入按鈕顯示回訪使用者的身分 (更新)。
- 指標端點:向 IdP 提供成效指標。
此外,我們也積極探索其他未解決的問題,包括我們正在評估或製作原型設計的特定提案:
- CORS:我們正在與 Apple 和 Mozilla 討論,以確保改善 FedCM 擷取的規格。
- 多個 IdP API:我們正在研究如何在 FedCM 帳戶選擇器中支援多個 IdP 協同運作。
- IdP 登入狀態 API:Mozilla 已找出時間攻擊問題,我們正在研究讓 IdP 主動通知瀏覽器使用者的登入狀態,以減輕這項問題。(更新)
- 登入 IdP API:為了支援各種情境,當使用者未登入 IdP 時,瀏覽器會提供使用者介面,讓使用者在不離開 RP 的情況下登入。
最後,根據 Mozilla、Apple 和 TAG 審查員 的意見回饋,我們認為仍有其他事項需要完成。我們正在評估下列開放式問題的最佳解決方案:
- 改善使用者理解度和意圖比對:如同 Mozilla 所述,我們希望繼續探索不同的使用者體驗公式和顯示區域,以及觸發條件。
- 身分屬性和選擇性揭露資訊:如TAG 審查員所述,我們希望提供一種機制,讓使用者可選擇分享較多或較少的身分屬性 (例如電子郵件、年齡層、電話號碼等)。
- 提升隱私權屬性:如 Mozilla 在標準立場中所述,我們希望繼續探索可提供更佳隱私權保障的機制,例如 IdP 盲目性、導向 ID。
- 與 WebAuthn 的關係:如 Apple 所建議,我們非常期待看到密碼金鑰的進展,並致力於在 FedCM、密碼、WebAuthn 和 WebOTP 之間提供一致且連貫的體驗。
- 登入狀態:如同 Apple 在隱私權 CG 的登入狀態 API 中所述,我們認為使用者的登入狀態是一項實用的資訊,可協助瀏覽器做出明智的決策,我們也期待從中發掘更多商機。(更新)
- 企業和教育機構:FedID CG 清楚指出,FedCM 仍無法滿足許多用途,例如前端登出 (IdP 向 RP 傳送信號以登出) 和 SAML 支援。
- 與 mDL/VC 等的關係:繼續瞭解這些元素如何融入 FedCM,例如 Mobile Document Request API。
使用 FedCM API
如要使用 FedCM,Chrome 中的 IdP 和 RP 都必須使用安全內容 (HTTPS 或 localhost)。
如要與 FedCM 整合,您必須建立已知檔案、設定檔和帳戶清單、斷言發出和 (選用) 用戶端中繼資料的端點。接著,FedCM 會公開 JavaScript API,讓 RP 可用於透過 IdP 登入。
如要瞭解如何使用 FedCM API,請參閱 FedCM 開發人員指南。
互動並分享意見回饋
- GitHub:請參閱說明文章,提出問題並追蹤討論。
- 開發人員支援:在 Privacy Sandbox 開發人員支援存放區中提問及參與討論。
遵守電子隱私權法
無論是做為 IdP 或 RP,使用 FedCM 都涉及在使用者的終端設備上儲存資訊,或存取已儲存在該裝置中的資訊,因此這類活動受歐洲經濟區 (EEA) 和英國的電子隱私權法規約束,通常需要使用者同意。您有責任判斷 FedCM 是否「絕對必要」提供使用者明確要求的線上服務,因此可免除同意聲明規定。如需更多資訊,建議您參閱 Privacy Sandbox 的隱私權相關法規遵循常見問題。