了解如何使用 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 通行密钥页面