Azure身份验证问题:访问令牌返回无效AUD(00000003-0000-0000-c000-000000000000)
解决Azure API管理服务OAuth认证中aud无效的问题
你遇到的00000003-0000-0000-c000-000000000000是Microsoft Graph的受众ID,并非Azure API管理(APIM)服务所需的正确aud值,以下是获取正确aud的可行方案:
获取APIM管理API的客户端ID作为aud
登录Azure门户,找到目标APIM实例,进入「概述」页面,复制「管理API」板块下的「客户端ID」,这个值就是APIM要求的合法aud。在请求访问令牌时,将resource(针对旧版端点)或scope(针对v2端点)参数设置为该ID。配置自定义Azure AD应用的受众
若使用自行注册的Azure AD应用做OAuth认证,需在应用的「API权限」中添加APIM的相关权限;同时在令牌请求中,明确指定resource为APIM管理API的标识符,或在应用注册的「公开API」中配置正确的受众映射。修正令牌请求参数
根据使用的OAuth流调整参数:- 授权码流/隐式流:确保请求中的
resource参数为APIM管理API的客户端ID; - 客户端凭证流:将
scope参数设为{APIM管理API客户端ID}/.default。
- 授权码流/隐式流:确保请求中的
验证令牌内容
拿到令牌后,用JWT解析工具(如本地的jwt-decode库)解码查看aud字段,确认是否匹配APIM的要求。若仍不匹配,检查Azure AD应用配置,避免错误关联到Microsoft Graph资源。
内容的提问来源于stack exchange,提问作者Renjith JR
相关产品推荐
相关产品推荐

