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

Android平台MSAL报错:Invalid JSON 'claims' value encountered如何解决?

Android平台使用MSAL遇到MsalServiceException错误求助

在Android平台使用MSAL(Microsoft Authentication Library)时,遇到了com.microsoft.identity.client.exception.MsalServiceException错误,具体异常栈如下:

com.microsoft.identity.common.java.exception.ServiceException: Invalid JSON 'claims' value encountered
    at com.microsoft.identity.common.java.controllers.ExceptionAdapter.exceptionFromAcquireTokenResult(ExceptionAdapter.java:96)
    at com.microsoft.identity.common.java.controllers.CommandDispatcher.getCommandResultFromTokenResult(CommandDispatcher.java:572)
    at com.microsoft.identity.common.java.controllers.CommandDispatcher.executeCommand(CommandDispatcher.java:480)
    at com.microsoft.identity.common.java.controllers.CommandDispatcher.access$100(CommandDispatcher.java:85)
    at com.microsoft.identity.common.java.controllers.CommandDispatcher$5.run(CommandDispatcher.java:648)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.lang.Thread.run(Thread.java:920)
 Caused by: com.microsoft.identity.client.exception.MsalServiceException: Invalid JSON 'claims' value encountered
    at com.microsoft.identity.client.internal.controllers.MsalExceptionAdapter.msalExceptionFromBaseException(MsalExceptionAdapter.java:74)
    at com.microsoft.identity.client.SingleAccountPublicClientApplication$3.onError(SingleAccountPublicClientApplication.java:351)
    at com.microsoft.identity.client.SingleAccountPublicClientApplication$3.onError(SingleAccountPublicClientApplication.java:337)
    at com.microsoft.identity.common.java.controllers.CommandDispatcher.commandCallbackOnError(CommandDispatcher.java:534)
    at com.microsoft.identity.common.java.controllers.CommandDispatcher.access$1000(CommandDispatcher.java:85)
    at com.microsoft.identity.common.java.controllers.CommandDispatcher$4.run(CommandDispatcher.java:514)
    at android.os.Handler.handleCallback(Handler.java:938)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loopOnce(Looper.java:226)
    at android.os.Looper.loop(Looper.java:313)
    at android.app.ActivityThread.main(ActivityThread.java:8663)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:567)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1135)

可能的解决方向

  • 检查自定义claims的JSON格式:错误核心是“无效的JSON claims值”,需确保你传入的claims是严格符合JSON语法的字符串,比如引号闭合、键值对格式正确,无多余逗号或语法错误。示例正确格式:{"id_token": {"email": {"essential": true}}}
  • 排查token请求中的claims参数:如果调用acquireToken等方法时手动传入了claims参数,检查是否构造错误;若无需自定义claims,尝试移除该参数后重新请求。
  • 升级MSAL版本:旧版本MSAL可能存在JSON解析缺陷,将依赖升级至最新稳定版,验证问题是否解决。
  • 核对Azure AD应用配置:确认Azure AD应用注册中配置的claims规则是否正确,避免服务端返回异常格式的claims导致客户端解析失败。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 01:40:28