使用Azure AD令牌调用Microsoft Graph API遇无效受众错误求助
问题:调用Microsoft Graph API时提示
Access token validation failure. Invalid audience. 我需要在后端API中,使用移动端(Android、iOS分别通过MSAL包从Azure客户端应用注册获取)的令牌,代表用户获取新令牌以访问多个Microsoft Graph资源。但调用https://graph.microsoft.com/v1.0/me时,始终收到错误提示:
Access token validation failure. Invalid audience.
相关配置
受众(Audience)

范围(Scope)

错误截图

排查与解决方案
- 核对令牌受众:调用Microsoft Graph API的令牌,受众(
aud字段)必须是https://graph.microsoft.com或Graph官方应用ID(00000003-0000-0000-c000-000000000000)。如果当前配置的受众是自定义API标识,会直接导致验证失败。 - 确认范围配置:
- 移动端获取令牌时,需指定Graph相关的委派权限范围(如
User.Read、Mail.Read),而非自定义API的范围。 - 若使用On-Behalf-Of(OBO)流程兑换令牌,后端应用需在Azure AD中添加Graph的委派权限,并完成管理员同意(按需);兑换请求的
scope参数要明确指定Graph的权限(比如https://graph.microsoft.com/User.Read)。
- 移动端获取令牌时,需指定Graph相关的委派权限范围(如
- 检查OBO流程逻辑:
移动端获取的原始令牌,受众必须是后端API的应用ID/URI,后端才能用它兑换Graph的令牌。兑换后的新令牌,aud字段需指向Graph API。 - 解码令牌验证:用jwt.ms解码移动端原始令牌和后端兑换的令牌,查看
aud、scp等字段是否符合要求,快速定位不匹配项。
内容的提问来源于stack exchange,提问作者Mrinal Maheshwari
相关产品推荐
相关产品推荐

