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

MSAL Android 2.2.1调用acquireToken报错Missing required tokens of type: {0}

排查解决步骤

  • 补充请求Scope:你当前仅请求了openid和offline_access两个权限,Azure B2C场景下必须至少额外添加一个你在应用注册中暴露的自定义API权限(比如后端服务的访问权限),否则B2C不会返回合法的访问令牌,触发该报错。
  • 检查用户流令牌配置:进入你使用的B2C用户流(如注册登录流)配置页,在「属性」-「令牌兼容性设置」中,确认已经勾选ID令牌和访问令牌两个选项,未勾选的情况下授权后不会返回对应令牌。
  • 核对MSAL配置:检查assets目录下的auth_config.json配置文件,确认租户ID、用户流名称、重定向URI均和Azure B2C门户配置完全一致,重定向URI格式需为msal{应用包名}://auth。
  • 确认权限已授予管理员同意:进入应用注册的「API权限」页,确认你添加的所有权限都已点击「授予管理员同意」按钮,未授予的权限无法正常获取令牌。
  • 调整请求代码示例:补充自定义Scope后的代码参考如下:
application.acquireToken(requireActivity(),
    arrayOf("openid", "offline_access", "https://你的租户名.onmicrosoft.com/你的API应用名/权限名"),
    object : AuthenticationCallback {
    // 原有回调逻辑
})
  • 可选操作:如果以上配置全部正确仍报错,可以将MSAL升级到最新稳定版重试,2.2.1为较早版本存在已知的B2C适配问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 02:06:03