环境自检
页面 origin
—服务端 RP ID
—平台认证器
检测中…Autofill(条件式 UI)
检测中…Conditional Create
检测中…用户验证策略
—登录 / 注册
输入框已标注 autocomplete="username webauthn"。若本机已有 passkey,
点击输入框即可在自动填充下拉里直接选择,无需输入任何字符。
两条链路的区别:「登录」走 identifier-first(下发 allowCredentials);
页面加载时已并行发起 mediation:'conditional' 的免用户名请求。
已登录
当前用户:—
⚠️ 你只有 1 个 passkey。换机或设备丢失将无法登录 —— 建议再添加一个(对应调研文档 6.5「人均凭证数 > 1」)。
我的 passkey
服务端校验步骤
对应调研文档 5.2 的校验清单。任何一步失败都会中断流程。
指标看板
对应调研文档 6.5:人均凭证数、同步型占比、登录成功率、僵尸凭证。
调试提示
- 没有真机也能测:Chrome DevTools → 右上 ⋮ → More tools → WebAuthn → 勾选 Enable virtual authenticator environment,Protocol 选 ctap2、Transport 选 internal, 并勾上 Supports resident keys 与 Supports user verification。
- RP ID 不匹配是最高频错误:用
127.0.0.1访问但 RP ID 是localhost会失败,两者不等价。 - challenge 一次性:同一个 challenge 重复提交会被拒绝(防重放)。
- 本页所有响应都会打到浏览器 Console,可对照报文结构讲解。