You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows10下WebAuthn仅显示USB安全密钥选项,无指纹/PIN/密码选项

Windows 10 Chrome下WebAuthn仅显示USB安全密钥,无法调用Windows Hello指纹/PIN的原因及解决办法

核心原因:WebAuthn请求参数未适配平台验证器

Windows Hello属于平台验证器(Platform Authenticator),而USB安全密钥是跨平台验证器(Cross-Platform Authenticator)。WebAuthn的请求参数直接决定浏览器会调用哪类验证器,参数配置不当就只会显示USB密钥选项。

具体排查与解决步骤

  1. 检查WebAuthn请求的authenticatorSelection参数
    注册或认证请求中,若未指定或错误配置authenticatorAttachment,浏览器会默认优先调用跨平台验证器。正确配置需:

    • 将authenticatorAttachment设为platform(强制使用Windows Hello这类平台验证器),或不设置该字段(让浏览器自动适配所有可用验证器);
    • 将userVerification设为preferred或required,触发Windows Hello的指纹/PIN验证流程。
      示例代码片段:
    const publicKeyCredentialCreationOptions = {
      // 其他必填参数(rp、user、challenge等)
      authenticatorSelection: {
        authenticatorAttachment: 'platform',
        userVerification: 'preferred'
      }
    };
    
  2. 验证Chrome的WebAuthn平台验证器支持

    • 访问chrome://flags/#webauthn-platform-authenticator,确认该选项处于Enabled状态(最新版Chrome默认已启用,无需手动修改);
    • 若修改过flags,重启Chrome后重新测试。
  3. 确认Windows Hello的有效性

    • 即便已设置PIN和指纹,仍建议重新设置Windows Hello PIN:打开「设置」→「账户」→「登录选项」→「Windows Hello PIN」→「我忘记了我的PIN」,重新设置后再测试;
    • 确保Windows 10版本在1903及以上(早期版本对WebAuthn平台验证器支持不完善)。
  4. 关于webauthn.me的测试限制
    你使用的测试站点可能默认配置了仅调用跨平台验证器的参数,导致无法触发Windows Hello。若要验证Windows Hello的WebAuthn功能,建议自行编写包含正确参数的测试代码,或使用支持平台验证器的测试工具。

安卓Chrome正常工作的原因

安卓系统的WebAuthn平台验证器直接对接系统锁屏验证,浏览器默认会自动调用,无需额外指定参数,因此能正常显示指纹、验证码等选项。


内容的提问来源于stack exchange,提问作者Ryan Griggs

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 18:16:03