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

Android CredentialManager:createCredential()方法调用报错求助

排查Android Credential Manager Passkey创建时的请求验证失败问题

针对你遇到的createPasskey failed with exception: The incoming request cannot be validated错误,按以下步骤逐一排查:

  • 必须部署在域名根目录下的.well-known文件夹,路径为https://<你的域名>/.well-known/assetlinks.json,不能放在子目录里,且访问时不能有301/302重定向
  • 文件中的package_name必须和AndroidManifest里的applicationId完全一致,大小写都不能错
  • sha256_cert_fingerprints要匹配你当前测试用的签名证书指纹:调试版用调试签名的SHA256,发布版用正式签名的,很多人会搞混这两个导致验证失败
  • 直接用浏览器访问该链接,确保返回200状态码,且内容是标准的JSON格式,没有多余的空格或注释

2. 检查Passkey创建请求的参数

  • PublicKeyCredentialCreationOptions中的rp.id必须和assetlinks.json里的target.domain完全一致,不能带http://或https://,比如域名是example.com,rp.id就必须是example.com(如果assetlinks里的domain是www.example.com,那rp.id也要对应)
  • 确保user.id是Uint8Array类型,不能直接传字符串,需要把用户ID转换成字节数组后传入

3. 验证设备与环境配置

  • 测试设备需为Android 14及以上版本,或者Android 13设备已更新到支持Credential Manager的Google Play系统版本
  • 确保设备上的Google Play服务是最新版,可在Google Play商店中搜索Google Play服务并更新
  • 如果用模拟器测试,必须选择带Google Play的镜像,且确保模拟器的Google服务正常运行

4. 查看详细日志定位问题

  • 连接设备后执行ADB命令:adb logcat -s CredentialManager,过滤Credential Manager相关日志,里面会包含更具体的验证失败原因,比如是assetlinks校验不通过,还是参数不匹配

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 05:24:56