适用于 Android 版 Chrome 的通行密钥信号 API

Nina Satragno
Nina Satragno

发布时间:2025 年 12 月 5 日

从 Chrome 144 开始,Signal API 可在 Chrome for Android 上使用。借助此 API,信赖方 (RP) 可以确保存储在用户通行密钥提供方中的通行密钥与服务器上的凭据保持一致。

为何要使用 Signal API?

当用户创建通行密钥时,通行密钥提供方(例如 Google 密码管理工具)会保存私钥和元数据(例如用户名和显示名称),而您的服务器会保存公钥。

随着时间的推移,这些信息可能会不同步。例如:

  • 已删除的通行密钥:用户在您的网站上删除凭据,但通行密钥仍保留在用户的通行密钥提供程序中。下次用户尝试登录时,通行密钥提供方会提供一个不再有效的通行密钥。
  • 名称更改:用户在您的网站上更新了用户名,但通行密钥提供方仍显示旧名称。

Signal API 通过允许您的网站向通行密钥提供方“传递”凭据的当前状态来解决此问题。您可以指示提供方删除无效的通行密钥或更新元数据,从而确保用户获得顺畅的登录体验。

最新资讯

Chrome for Android 上的 Signal API 与桌面版实现完全相同,但针对移动生态系统进行了特定增强。

支持第三方密码管理工具

Signal API 适用于所有受支持的 Android 版本上的 Google 密码管理工具。在 Android 14 及更高版本中,Signal API 还与系统的通行密钥提供程序集成。当 Chrome 在这些设备上广播信号时,不仅限于 Google 密码管理工具。Chrome 会将信号发送到设备上所有已启用的通行密钥提供方

如果用户使用支持 Signal API 的第三方提供方管理通行密钥,该提供方会收到更新,并使用户的凭据保持同步。

通过通行密钥恢复功能实现更安全的同步

Google 密码管理工具支持在 Android 和桌面设备上针对 Signal API 更新的安全机制。

之前,当 RP 表示凭据未知或已被移除时,通行密钥会被永久删除。现在,Google 密码管理工具会隐藏通行密钥,而不是将其删除。

  • 隐藏通行密钥:通行密钥不再显示在自动填充或登录对话框中,从而防止登录失败。
  • 恢复:如果信号发送有误,可以恢复通行密钥。

使用 Signal API

Signal API 公开了三种用于保持凭据同步的方法:

  • 当通行密钥登录失败,原因是您的服务器上找不到凭据 ID 时,请使用 signalUnknownCredential。这会向提供方发送信号,要求其移除(或隐藏)无效的通行密钥。
  • 在用户登录或管理其账号设置后使用 signalAllAcceptedCredentials。您需要提供相应用户的所有有效凭据 ID 的列表。通行密钥提供方会将该列表与相应信赖方的本地存储进行比较。在密码密钥提供程序中找到的任何未包含在 allAcceptedCredentialIds 列表中的密码密钥都会被标记为“隐藏”。这些隐藏的通行密钥不再用于登录或自动填充,但不会立即永久删除,以便在必要时进行恢复。相反,如果 allAcceptedCredentialIds 中存在的通行密钥在通行密钥提供程序中标记为“隐藏”,则会恢复这些通行密钥。这样,您的网站就可以恢复之前因错误而被隐藏的通行密钥。
  • 当用户在您的网站上更新其个人资料(例如显示名称)时,以及在每次登录后,请使用 signalCurrentUserDetails。这样可确保在日后的登录过程中,通行密钥提供方会显示正确的信息。

摘要

Signal API 可帮助您打造可靠且用户友好的身份验证体验。通过实现这些信号,您可以防止因过时的通行密钥而造成的混淆,并确保用户始终看到准确的账号信息。

现在,Chrome for Android 也支持此功能,因此您可以在各种设备、通行密钥提供程序和密码管理器中提供这种同步体验。

了解详情