用于实现可保护隐私的身份联合的 Web API。
什么是 FedCM?
FedCM (Federated Credential Management) 是一种可保护隐私的 方法(例如“使用...登录”), 用户登录网站时无需与 身份验证服务或网站。
实现状态
- Chrome 平台状态
- Chrome 108 中已提供 FedCM。
- FedCM 提案可供公开讨论。
- 其他浏览器尚不支持 FedCM。
- Mozilla 正在实现 Firefox 的原型,并且 Apple 已表示对就 FedCM 提案展开合作的普遍支持和兴趣。
今后,我们计划推出一系列新功能,这些新功能基于 针对我们收到的身份提供方 (IdP)、信赖方 (RP) 反馈 和浏览器供应商虽然我们希望身份提供方能够采用 FedCM,但请注意, FedCM 仍处于积极开发阶段的 API。
为了尽可能减少部署向后不兼容性更改所带来的挑战,我们为身份提供方提供了以下两条建议:
- 订阅我们的 简报, 将随着 API 的发展而发送更新。
- 我们建议 IdP 使用 JavaScript SDK 分发 FedCM API,同时 API 正日趋成熟,这是为了阻止 RP 采用自托管 SDK。这将 确保 IdP 可以随着 API 的发展进行更改,而不必请求所有 进行重新部署
为什么我们需要 FedCM?
在过去的十年中,身份联合发挥了核心作用, 在网络上使用身份验证的标准 - 可信度和易用性 (例如无密码单点登录)和安全性(例如改进后的 抵御网络钓鱼和撞库攻击) 用户名和密码。
借助身份联合,RP(依赖方)依赖于 IdP(身份 提供商),无需提供新用户名即可为用户提供账号 和密码。
遗憾的是,身份联合所依赖的机制(iframe、 重定向和 Cookie)。 由于用户代理无法区分身份联合和 各种滥用行为的缓解措施使 更加困难。
Federated Credential Management API (FedCM) 提供了特定于用例的 通过公开一个浏览器来为 Web 中的联合身份流进行抽象化处理 参与中介的对话框,可让用户从 IdP 中选择要登录的账号 网站。
FedCM 是一个涉及多个步骤的过程,旨在改进网络上的身份信息。在 第一步,我们专注于降低第三方 Cookie 限制的影响 (请参阅“路线图”部分,了解几个步骤 )。
<ph type="x-smartling-placeholder">我们预计会受到什么影响?
通过社区 努力 在我们的研究中,我们了解到 受第三方 Cookie 限制影响的集成:
FedCM 的第一个目标是降低第三方 Cookie 限制对 身份联合,我们预计会受到影响。如果 还有其他应用场景未列出,您可以参与互动并分享反馈。
谁应该使用 FedCM?
只有在满足以下所有条件时,FedCM 才能对您有所帮助:
- 您是身份提供方 (IdP)。
- 您会受到第三方 Cookie 限制的影响。
- 您的 RP 是第三方网站。如果您的 RP 是有意义的相关网站,那么您可能获得 来自 Related Website 集中。
您是 IdP
FedCM 需要身份提供方的支持。依赖方无法使用 FedCM。如果您是 RP,可以要求 IdP 提供 操作说明。
您受到第三方 Cookie 限制的影响
仅当您当前的集成受到 第三方 Cookie 限制。
如果您不确定您的身份联合是否会继续正常工作, 第三方 Cookie 不可用,您可以通过 在 Chrome 中屏蔽第三方 Cookie。
如果在没有影响您的身份联合时, 第三方 Cookie,则可以继续使用当前的集成,而无需 FedCM。
如果您不确定要检查哪些内容,请阅读有关 功能 预计会受到第三方 Cookie 限制的影响。
您的 RP 由第三方
如果您是身份提供方,并且 RP 与 IdP 之间存在第一方关系,我们可以使用 Related Website Sets 可能更适合Related Website Sets (RWS) 可供组织声明网站之间的关系,以便浏览器出于特定目的允许有限的第三方 Cookie 访问。这样一来,即使第三方 Cookie 受到其他限制,第三方 Cookie 也可以在有意义相关且相关的网站集之间发挥作用。
用户将如何与 FedCM 互动?
FedCM 的主要目标是减轻第三方 Cookie 的影响 限制。用户可以在 Chrome 用户中启用或停用 FedCM 设置。
FedCM 与协议无关,可提供以下功能: 身份验证相关功能。
观看演示,了解运作方式。
登录依赖方
<ph type="x-smartling-placeholder">当用户进入信赖方 (RP) 网站时,系统会显示 FedCM 登录对话框 会在用户登录 IdP 时显示。
如果用户没有在 RP 中使用 IdP 的账号,系统会显示注册对话框 随信附上额外的披露文字,例如 RP 的服务条款和 隐私权政策(如有提供)。
用户可以通过点按以...的身份继续完成登录。如果成功, 浏览器会存储用户在 RP 上创建了联合账号的事实 与 IdP 相关联。
RP 可以在不支持 FedCM 的浏览器上使用。用户应 能够使用现有的非 FedCM 登录流程。详细了解如何 登录方式。
用于启用或停用 FedCM 的设置
用户可以在 Android 版 Chrome 的设置中启用或停用 FedCM。前往 设置 >网站设置 >第三方登录,然后更改 切换开关。
![在移动设备上的 Chrome 设置中启用 FedCM,只需开启第三方登录即可](https://developers.google.cn/static/privacy-sandbox/assets/images/enable-fedcm-chrome-sett-acb36abf28b59.jpg?authuser=7&hl=sl)
也可以对桌面版 Chrome 执行相同的操作,只需依次前往
chrome://settings/content/federatedIdentityApi
。
![通过开启第三方登录服务,在桌面设备上的 Chrome 设置中启用 FedCM](https://developers.google.cn/static/privacy-sandbox/assets/images/enable-fedcm-chrome-sett-ebbf4834f6f21.png?authuser=7&hl=sl)
路线图
我们正在努力对 FedCM 进行一些调整。请参阅 更新,了解更多详情。
- 变更日志:Federated Credential Management API 更新。
我们知道还有一些事情亟待解决,其中包括 从 IdP、RP 和浏览器供应商那里了解到的。我们相信,我们知道 来解决这些问题:
- 跨源 iframe 支持:IdP 可以从 跨源 iframe(更新)。
- “个性化”按钮:IdP 可以在页面上显示回访用户的身份信息, IdP 拥有的跨源 iframe 中的登录按钮(更新)。
- 指标端点:为 IdP 提供性能指标。
此外,还有一些我们仍在积极探索的未解决的问题,包括 我们正在评估或设计原型的具体提案:
- CORS:我们正在与 Apple 讨论 Mozilla 致力于确保改进 FedCM 提取规范
- 多 IdP API:我们正在探索如何支持 IdP 在 Google Cloud 中 FedCM 账号选择器。
- IdP Sign-in Status API:Mozilla 发现了一次计时攻击 问题,我们正在探索 让 IdP 主动通知浏览器有关用户登录的信息 状态更改为 来缓解问题(更新)
- 登录 IdP API:为了支持各种 场景 登录 IdP,浏览器会为用户提供一个登录界面 无需离开 RP。
最后,根据反馈,我们认为还有一些工作需要改进 来自 Mozilla、 Apple 和 TAG 审核者。 我们正在努力评估以下开放性问题的最佳解决方案:
- 提高用户的理解度并更好地匹配用户意图:如Mozilla 我们希望继续探索不同的用户体验形式和途径, 以及触发条件
- 身份属性和选择性披露:作为我们的 TAG 审核者 我们希望提供一种机制 属性(例如电子邮件地址、年龄段、电话号码等)。
- 提高隐私保护属性:正如 Mozilla 所建议的 处于标准位置 我们希望继续探索各种机制,以更好地保护隐私 例如 IdP 盲化、定向标识符。
- 与 WebAuthn 的关系:建议采用 Apple、 我们非常期待看到 通行密钥,并努力提供连贯且清晰的 FedCM、Passwords、WebAuthn 和 WebOTP 之间的集成体验。
- Login Status(登录状态):根据 Apple 根据 Privacy CG 的 Login Status(登录状态)提供的建议 API,我们都认为 用户的登录状态是一些有用的信息 做出明智的决策,我们期待看到可能带来哪些机会 。(更新)
- 企业和教育:正如 FedID CG 的明确规定,仍然有 很多 支持请求 而我们想要处理的未获得 FedCM 妥善服务的数据,例如 前置信道退出(IdP 能够向 RP 发送信号, 退出)和对 SAML 的支持。
- 与 mDL/VC 等的关系:继续了解这些客户 符合 FedCM 的要求,例如移动文档请求 (Mobile Document Request) API。
使用 FedCM API
您需要在 Chrome 中的 IdP 和 RP 上均有安全上下文(HTTPS 或 localhost),才能使用 FedCM。
如需与 FedCM 集成,您需要为账号列表、断言颁发和(可选)客户端元数据创建知名文件、配置文件和端点。然后,FedCM 会提供 JavaScript API,供 RP 通过 IdP 进行登录。
如需了解如何使用 FedCM API,请参阅 FedCM 开发者指南。
互动和分享反馈
- GitHub:阅读 explainer、raise 并关注讨论。
- 开发者支持:在隐私权 沙盒开发者支持 代码库。
遵守电子隐私法律
使用 FedCM(作为 IdP 或 RP)涉及存储 或访问已存储在其中的信息,并且 因此违反欧洲经济区电子隐私法律的活动 (EEA) 和英国通常要求征得用户同意。您有责任 确定您是否绝对必须使用 FedCM 提供 因此,此类在线服务无需用户明确请求 用户意见征求要求。如需了解详情,建议您阅读我们的《隐私权政策》 沙盒隐私权相关合规性 常见问题解答。