FedCM 更新:Chrome 132 中的模式、使用其他账号和接续功能。

Natalia Markoborodova
Natalia Markoborodova

成功完成源代码测试后,我们将在 Chrome 132 中发布多项新的 FedCM 更新:Mode APIUse Other Account APIContinuation API bundle

Mode API

Mode API 支持不同的用户体验模式配置,并引入了一种新的用户体验模式:活跃模式。主动模式是现有被动 模式(以前称为widget 模式)的替代方案,FedCM 默认使用该模式。

在活动模式(以前称为按钮模式)下,身份提供程序 (IdP) 可以使用 FedCM API,即使在调用 navigator.credentials.get() 时其用户已从 IdP 中退出也是如此。登录流程由用户手势(例如点击 Sign in with IdP 按钮)发起,这更能反映用户的意图。

用户使用处于活动模式的 FedCM 登录 RP。

主动模式登录对话框界面与被动模式界面中的登录对话框界面不同:它更大、居中显示,并且品牌图标更大。

桌面设备上的 FedCM 登录活动模式对话框,要求用户使用其账号登录。该对话框包含一个品牌图标,以及用于使用 IdP 提供的当前账号登录 RP、选择其他账号或取消的选项。该对话框居中显示,并且比“被动模式”对话框更大。
桌面设备上处于活动模式的 FedCM 登录对话框界面。
桌面设备上的 FedCM 登录“被动模式”对话框,要求用户使用其账号登录。该对话框包含品牌图标,以及用于使用 IdP 提供的当前账号登录 RP 或取消的选项。该对话框会显示在浏览器标签页的左上角。
桌面设备上处于被动模式的 FedCM 登录对话框界面(默认)。

如需了解如何在活动模式下使用 FedCM,请参阅开发者文档

使用其他账号

借助 Use Other Account API,如果 IdP 支持多个账号或替换现有账号,用户可以选择切换到与其当前登录的账号不同的账号:

FedCM 活跃模式对话框,其中显示了“使用其他账号”按钮。
“使用其他账号”功能在活跃模式下可用:界面中添加了“使用其他账号”按钮。

Continuation API 软件包

Continuation API 软件包从 Chrome 132 开始提供。该软件包包含多个 FedCM 功能:

这些功能捆绑在一起,因为 IdP 可以使用它们来实现授权流程,例如让用户向 RP 授予对其日历的访问权限。

Continuation API 软件包:启动登录流程后,Continuation API 会在弹出式窗口中打开 continue_on 网址。用户可以在登录 RP 之前查看并授予其他权限。Fields API 会修改披露信息界面消息。

Continuation API

借助 Continuation API,IdP 可以在 ID 断言端点响应中提供重定向网址,以启用多步登录流程。当 IdP 需要请求更多信息或权限时,此功能非常有用,例如:

  • 访问用户服务器端资源的权限。
  • 验证联系信息是否是最新的。
  • 家长控制。

如需了解如何使用 Continuation API,请参阅 FedCM 开发者文档

Parameters API

借助 Parameters API,RP 可以向ID 断言端点提供其他键值对参数。借助 Parameters API,RP 可以向 IdP 传递额外的参数,以请求基本登录之外的资源权限。
当 RP 需要请求其他权限(例如结算地址或日历访问权限)时,传递其他参数会很有用。用户可以通过使用 Continuation API 启动的 IdP 控制的用户体验流程授予这些权限,然后 IdP 会分享这些信息。

如需了解如何使用 Parameters API,请参阅开发者文档

Fields API

借助 Fields API,RP 可以指定他们需要 IdP 与其分享的用户信息(姓名、电子邮件地址和个人资料照片的任意组合)。系统会在 FedCM 对话框的披露信息界面中显示所请求的信息。如果用户选择登录,系统会显示一条消息,告知用户 idp.example 会与 rp.example 共享所请求的信息。

显示披露信息消息的 FedCM 活跃模式对话框。如要继续,身份提供程序会与该网站分享用户的电子邮件地址和个人资料照片。
处于活动模式下的披露消息:RP 请求 IdP 仅分享用户电子邮件地址和个人资料照片。

如需了解如何使用 Fields API,请参阅开发者文档

多个 config网址

借助多个 config网址,IdP 可以通过在well-known 文件中指定与配置文件相同的 accounts_endpointlogin_url 来容纳多个 IdP 配置文件。在以下情况下,此功能非常有用:

  • IdP 需要支持多个不同的测试和生产配置。
  • IdP 需要支持每个区域的不同配置(例如,eu-idp.exampleus-idp.example)。

如需了解实现详情,请参阅开发者文档

自定义账号标签

借助自定义账号标签,IdP 可以为用户账号添加标签注释,RP 可以选择仅提取具有特定标签的账号,方法是为该特定标签指定 configURL。当 RP 需要按特定条件滤除账号时,这会非常有用,例如,仅显示角色专用账号(例如 developerhr)。

互动和分享反馈

如果您有任何反馈或遇到任何问题,可以提交问题。我们会及时更新 FedCM 开发者文档以及累计更新日志页面