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

缺少authenticatorSelection声明时,Google Credential Manager创建Passkey失败

Google密码管理器创建Passkey时要求authenticatorSelection字段的问题分析

问题现象

  • 基于Android《使用Credential Manager登录用户》指南完成业务适配后,Samsung Pass、Dashlane均可正常创建Passkey,但Google密码管理器抛出无意义错误:androidx.credentials.exceptions.CreateCredentialCustomException: 34000: null

根因定位

  • 经反复测试验证,问题源于后端返回的PublicKeyCredentialCreationOptions未包含authenticatorSelection字段(Android官方示例中默认包含该字段)
  • 添加非空的authenticatorSelection声明后,Google密码管理器可正常创建Passkey;且通过Android官方示例应用复现了该依赖行为

规范与实现差异

  • WebAuthn 2规范并未将authenticatorSelection标记为必填字段
  • 目前未找到Google密码管理器强制要求该字段的官方文档,此为Google密码管理器的实现特定要求,不属于WebAuthn规范的强制约束

结论

这是Google密码管理器的实现行为,并非你对规范的误解或遗漏文档。为兼容所有主流Passkey管理器,建议在PublicKeyCredentialCreationOptions中始终包含非空的authenticatorSelection字段,即使规范不强制要求。示例默认配置可参考:

"authenticatorSelection": {
  "authenticatorAttachment": "platform",
  "residentKey": "preferred",
  "userVerification": "preferred"
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 23:52:02