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

Natalia Markoborodova
Natalia Markoborodova

成功完成源试用后,我们将在 Chrome 132 中发布多项新的 FedCM 更新:Mode APIUse Other Account APIContinuation API 捆绑包

Mode API

模式 API 允许进行不同的用户体验模式配置,并引入了一种新的用户体验模式:活动模式。主动模式是现有被动 模式(以前称为微件模式)的替代方案,FedCM 默认使用被动模式。

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

用户在主动模式下使用 FedCM 登录 RP。

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

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

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

使用其他账号

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

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

延续 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 控制的 UX 流程来授权这些权限,然后 IdP 会共享此信息。

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

Fields API

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

显示披露声明的 FedCM 主动模式对话框。如果您继续操作,身份提供方会将用户的电子邮件地址和个人资料照片分享给相应网站。
主动模式下的披露声明:RP 请求 IdP 仅分享用户电子邮件地址和个人资料照片。

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

多个 config网址

多个 config网址 允许 IdP 通过在知名文件中指定 accounts_endpointlogin_url(与配置文件相同)来容纳 IdP 的多个配置文件。此功能在以下情况下非常有用:

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

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

自定义账号标签

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

互动和分享反馈

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