必须启用Chrome内置虚拟验证器环境来调试WebAuthn;需Chrome≥90、HTTPS/localhost环境,通过开发者工具→More tools→WebAuthn启用,添加Platform或Cross-platform验证器后即可触发注册认证流程。
要在谷歌浏览器中调试WebAuthn注册与认证逻辑,又没有物理安全密钥或未启用系统生物识别,必须启用内置的虚拟验证器环境——它能模拟CTAP2协议行为、生成可验证的凭据,并绕过硬件依赖。
打开地址栏输入 chrome://version/,核对主版本号是否 ≥ 90(2026年5月起,【低于90的版本无法启用虚拟验证器面板】)。若显示89或更低,请先升级Chrome;Linux用户还需确认已安装libfido2-dev并重启浏览器进程。
Windows/macOS/ChromeOS用户无需额外驱动,但需确保系统未禁用开发者模式——Chrome会自动屏蔽被策略锁定的WebAuthn调试功能。
访问任意支持WebAuthn的页面(如 https://webauthn.me),按 Ctrl+Shift+I(Win/Linux) 或 Cmd+Option+I(macOS) 打开开发者工具。
点击右上角“更多选项”(三个点)→ More tools → WebAuthn。若该菜单项不可见,说明当前Chrome版本不支持或页面未处于HTTPS/localhost安全上下文。
切换到 Authenticators 标签页,此时界面应显示“Enable virtual authenticator environment”复选框——勾选即激活模拟环境。
在WebAuthn面板的 Authenticators 标签页中,点击 Add authenticator 按钮。
选择验证器类型:
① Platform:模拟Windows Hello、Face ID等内置生物识别器,适用于测试无密登录流程;
② Cross-platform:模拟USB/NFC安全密钥,支持多设备同步,【务必勾选“Automatically advance to next step”】,否则注册过程会在用户确认环节卡住。
Transport选项保持默认 USB 即可;Protocol选 CTAP2(FIDO2标准),U2F仅用于旧版兼容测试,2026年起新项目禁止使用。
点击 Add 后,面板将列出已添加的虚拟验证器,状态显示为“Ready”,此时刷新网页即可触发WebAuthn API调用。
方法一:直接调用前端测试代码
在控制台(Console标签页)粘贴以下代码并回车:
navigator.credentials.create({ publicKey: { challenge: new Uint8Array([1,2,3,4]), rp: { name: "Test", id: "localhost" }, user: { id: new Uint8Array([5,6,7,8]), name: "test@example.com", displayName: "Test User" }, authenticatorSelection: { authenticatorAttachment: "platform" }, timeout: 60000 } });
方法二:使用现成测试站
访问 https://webauthn.io → 点击“Register”按钮 → 在弹出的验证器选择框中,自动出现你刚添加的虚拟验证器名称,点击确认即开始注册。
注意:若页面提示“NotAllowedError: Permission denied”,说明当前域名未通过HTTPS或localhost校验——【file://协议绝对不可用】,必须用 http://127.0.0.1:8080 或 https://localhost 启动本地服务。