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

Android集成Passkey异常:未唤起本地密钥却显示跨设备二维码

Passkey认证异常排查方案

针对你遇到的「本地Passkey未唤起、显示跨设备二维码并抛出GetCredentialCancellationException」问题,可从以下几个关键点排查:

  • 修正allowCredentials参数
    当前allowCredentials为空数组,系统会判定无可用本地凭证,直接触发跨设备登录流程。需从WSO2身份服务器获取用户已注册的Passkey凭证ID列表,按WebAuthn标准填充该字段,示例格式:

    "allowCredentials": [
      {
        "type": "public-key",
        "id": "base64url编码的凭证ID"
      }
    ]
    

    若WSO2未返回凭证ID,需先排查Passkey注册流程是否成功,确认凭证已绑定用户账号并存储到本地设备。

  • 校验rpId一致性
    rpId必须与Passkey注册时使用的RP ID完全匹配(包括域名后缀,如注册用abc.com则请求不能用sub.abc.com)。检查WSO2配置的RP ID、请求中的rpId、本地存储Passkey的RP ID三者是否完全一致。同时确保该域名已与应用正确关联(即使未设置数字资产链接,也需保证WSO2配置映射正确)。

  • 修正参数大小写错误
    WebAuthn标准中超时参数为小写timeout,你当前使用的大写Timeout会被系统忽略,可能导致超时逻辑异常,修正为:

    "timeout": 1800000
    
  • 确认本地Passkey状态
    进入设备系统设置(Android路径:「设置-密码与安全-密码密钥」),检查是否存在RP ID为abc.com的Passkey。若不存在,优先排查注册流程;若存在,尝试清除应用缓存后重新发起请求,排除缓存干扰。

  • 排查WSO2请求生成逻辑
    验证WSO2返回的challenge为标准Base64URL编码格式,无格式错误;同时确认WSO2是否正确读取用户已注册的凭证信息,确保allowCredentials的数据源准确。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 23:26:24