简化了通行密钥的 WebAuthn 功能检测

了解如何使用 getClientCapabilities() 检测 WebAuthn 功能,以及如何为用户量身定制身份验证工作流。

发布时间:2025 年 1 月 22 日

如何确保您的身份验证工作流能够顺畅地适应用户的浏览器和设备?

Chrome 133 开始,getClientCapabilities() WebAuthn API 可帮助您确定浏览器支持哪些身份验证功能。通过调用 PublicKeyCredential.getClientCapabilities(),开发者可以检索受支持功能的列表,并相应地调整身份验证工作流。

经过此增强,开发者可以根据用户的环境打造更稳健、更人性化的身份验证流程。

具体实现方法如下:

if (window.PublicKeyCredential &&
    PublicKeyCredential.getClientCapabilities) {
  const capabilities = await PublicKeyCredential.getClientCapabilities();
  if (capabilities.conditionalGet === true &&
      capabilities.passkeyPlatformAuthenticator === true) {
    // The browser supports passkeys and conditional mediation.
  }
}

此方法可帮助您确定支持的功能(例如通行密钥、条件中介 [在对话框中自动填充通行密钥]、混合传输 [使用蓝牙进行跨设备身份验证]),甚至扩展程序,从而为用户量身定制身份验证体验。

特征检测的重要性

了解客户端功能可让您:

  • 通过将您的实现调整为适应客户端支持的功能,打造更顺畅的用户体验并提高身份验证可靠性。
  • 减少由不受支持的 WebAuthn 功能导致的错误。

通过使用 getClientCapabilites(),您可以放心地打造可在各种设备和浏览器上使用的身份验证体验。

开始探索

如果您已准备好深入了解,可以参阅使用 getClientCapabilities() 简化 WebAuthn 功能检测,查看功能的完整列表、详细说明和一些最佳实践。

如需详细了解通行密钥和无密码登录,请访问 Chrome 通行密钥页面