08
Credential Management API · 原生填充通道
DOM 填充之外还有一条可编程通道 navigator.credentials:第三方管理器通常不实现它,因此本页能区分“接管原生 UI”和“自己扫描 DOM”。
password-credentialfedcmwebotp
FIELD COVERAGE—
AUTOSELECT 只在恰好一条匹配时静默返回;多条时浏览器必须弹选择器——这一条常被用来区分"真原生"与"扩展模拟"。
API 调用结果—
未调用。
联合身份(第三方登录)的现代通道,Chrome 上需要账户选择器与真实 IdP 配置。本站没有 IdP,因此这里只验证API 是否存在、调用后报什么错。
需要真实短信 + Android + 域名哈希匹配,桌面浏览器只会立刻失败。这里的用途是把错误名记录下来,避免误判成"填充坏了"。
KNOWN FAILURE MODES
- store() 返回成功 ≠ 管理器保存了。第三方管理器接管后可能把 API 调用当成 no-op,成功也要去它的应用内界面核对。
- get() 返回 null:没有匹配凭据、用户取消、或该实现根本不支持 PasswordCredential(Chrome 已在把这套 UI 迁到独立密码管理器)。这是本页最有价值的一条信息。
- AUTOSELECT 与多条凭据:多条会弹选择器;若你的站点逻辑假定"总是静默返回",会卡死在等待。
- preventAutoLogin:用来避免"一进登录页就被自动提交"。若返回了凭据但没有自动登录,说明实现尊重了这个标志。
- WebOTP 在桌面必然报 NotAllowedError / AbortError,不是 bug。
- FedCM 在没有配置 IdP 的站点上会报 NetworkError / AbortError;若报 SecurityError 则是非安全上下文。