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

Android集成Passkey时Okta认证编码报错求助

Android Passkey集成问题:WebAuthn因子验证失败

在Android应用中集成Passkey时,尝试获取并验证多个WebAuthn因子时触发错误,核心异常如下:

java.lang.IllegalArgumentException: com.google.common.io.BaseEncoding$DecodingException: Unrecognized character: _

请求上下文信息:
is_oie_org=false, org=00oc3vreva8vw5cvh0h7, metauri=/api/v1/authn/factors/{factorIdOrFactorType}/verify, client_ip_address=167.146.72.49, is_optional_password_org=false, root_session_id=trsLDzEct81TV2VYQVuiA0VTA, request_id=2908dcd72215b6554db0863b73f064ab, user=00u2ascud1gCWt9oi0h8, external_session_id=trswfTgO14ERzCPlPKszFhQqw, root_api_token_id=00T2z8eyyaOYn5ccj0h7

错误请求

{"authenticatorData": "PvPO1XNKRiD0tJnwSi75hMHPMEF/zaPxqriDzVVWhpAFAAAAAA==","clientData": "eyJjaGFsbGVuZ2UiOiIybERxQnpvdmxJdE5tOXdZVXVBeXVRU0xtaW5tTGRsciIsInR5cGUiOiJ3ZWJhdXRobi5nZXQiLCJvcmlnaW4iOiJodHRwczpcL1wvd3d3LXFhMS5zYWZld2F5LmNvbSIsImNyb3NzT3JpZ2luIjoiZmFsc2UifQ==","signatureData": "MEUCIQDrB2Jo63W01li2u/gkWe6G+b4hNT8mlpFMgVPpeQydSQIgEM2i4reQRquBBHXUensV8tJHByC0mga/JQZBkOL9U+I=","stateToken": "00xCQaS9M0xrbo4BZ_L28PYbLT2p6KZJzFigEr2N4O"}

错误响应

{"errors": [{"errorCode": "CSMS0120","message": "Invalid Passcode/Answer"}]}

解决建议

  • 修正Base64编码格式:异常明确指出无法识别下划线_,说明请求中使用了URL安全的Base64编码(用_替代/、-替代+),但后端可能仅支持标准Base64。需将所有相关字段(尤其是stateToken)中的_替换为/,-替换为+,再重新发送请求。
  • 校验stateToken完整性:确认stateToken是否在生成后被错误修改,确保传递的是服务端返回的原始值,或按要求完成编码转换。
  • 统一WebAuthn字段编码:检查authenticatorData、clientData、signatureData等字段的编码格式,确保与后端要求一致,避免混合使用不同Base64变种。
  • 核对WebAuthn接口规范:确认验证接口接受的Base64类型,若支持URL安全编码,需在请求时配置对应解析逻辑。

内容的提问来源于stack exchange,提问作者Rahul Deep Singh

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 00:02:17