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

Android端实现Passkey时无法开启Security Keys选项登录求助

解决Security Keys选项不显示的Passkey登录问题

1. 优先升级Credentials库版本

你当前使用的1.0.0-alpha09是早期测试版本,对Security Keys的支持存在不完善的地方,建议直接升级到稳定版:

implementation "androidx.credentials:credentials:1.2.0"
implementation "androidx.credentials:credentials-play-services-auth:1.2.0"

稳定版修复了大量Passkey和安全密钥相关的兼容性问题。

2. 修正WebAuthn请求参数

你提供的请求JSON里的hint字段并非标准WebAuthn参数,无法触发Security Keys选项,需要调整为以下参数:

{
  "allowCredentials": [],
  "challenge": "DVoOX3w1puCL-hMzfi9uIm9TpIfgF7NG1PA9p23MHjU",
  "rpId": "xxx.com",
  "timeout": 180000,
  "userVerification": "preferred",
  "authenticatorSelection": {
    "authenticatorAttachment": "cross-platform",
    "requireResidentKey": false
  }
}
  • authenticatorAttachment: "cross-platform":明确指定优先使用跨平台验证器(即安全密钥)
  • userVerification设为preferred:让系统允许触发安全密钥的用户验证流程,避免discouraged导致的限制

3. 检查设备环境要求

  • 确保设备运行Android 10及以上系统,早期版本不支持完整的WebAuthn安全密钥功能
  • 设备上的Google Play Services版本需在23.00.xx及以上,Passkey相关功能依赖最新的Play Services组件

4. 代码调用注意事项

构建GetPublicKeyCredentialOption时,确保将修正后的JSON正确传入,并且通过CredentialManager发起请求时,传递正确的上下文和请求实例,避免参数遗漏或格式错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 13:33:26