用於隱私權保護身分識別連結的網路 API。
什麼是 FedCM?
FedCM (聯合憑證管理) 是一種隱私權保護方法,可用於不依賴第三方 Cookie 或導覽重新導向的聯合身分服務 (例如「使用...登入」)。
導入狀態
- Chrome 平台狀態
- FedCM 在 Chrome 108 版中已出貨。
- 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 設計為不依附通訊協定,並提供下列驗證相關功能。
查看示範影片,瞭解這項功能的運作方式。
登入信任方
如果使用者已登入 IdP,則在使用者造訪依附方 (RP) 網站時,系統會顯示 FedCM 登入對話方塊。
如果使用者在 RP 中沒有 IdP 帳戶,系統會顯示登入對話方塊,並提供額外的揭露文字,例如 RP 的服務條款和隱私權政策 (如果提供的話)。
使用者只要輕觸「繼續以...身分登入」,即可完成登入程序。如果成功,瀏覽器會儲存使用者已透過 IdP 在 RP 上建立了聯合帳戶的事實。
RP 應可在不支援 FedCM 的瀏覽器上運作。使用者應可使用現有的非 FedCM 登入程序。進一步瞭解 FedCM 中的登入程序運作方式。
啟用或停用 FedCM 的設定
使用者可以在 Android 版 Chrome 的設定中啟用或停用 FedCM。依序前往「設定」 >「網站設定」 >「第三方登入」,然後變更切換鈕。
他們也可以前往 chrome://settings/content/federatedIdentityApi
在電腦版 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 的隱私權相關法規遵循常見問題。