Azure AD访问令牌aud字段追加api://前缀导致受众无效问题咨询
Azure 守护进程应用访问令牌aud字段差异原因
- 差异根源来自两个应用的Azure AD注册配置、以及请求令牌时传入的
scope参数格式不同:- 当应用在Azure AD中配置了自定义应用ID URI(默认生成格式为
api://<应用客户端ID>),且请求令牌时传入的scope为api://<目标应用客户端ID>/.default时,返回的访问令牌aud字段会带上api://前缀,对应你遇到的App A的情况 - 若应用未配置自定义应用ID URI,仅使用客户端ID作为唯一标识,且请求令牌时传入的scope为
<目标应用客户端ID>/.default,返回的aud字段就不会带api://前缀,对应App B的情况
- 当应用在Azure AD中配置了自定义应用ID URI(默认生成格式为
- 你遇到的
Invalid Audience报错是因为App A的后端校验逻辑中,填写的预期受众值仅为纯客户端ID,和令牌实际返回的带api://前缀的aud值不匹配导致。
修复可任选以下一种方案:
- 调整App A的令牌校验逻辑,将预期受众值替换为带
api://前缀的完整应用ID URI- 保持校验逻辑不变,修改请求App A令牌时的
scope参数,去掉api://前缀,直接使用<App A客户端ID>/.default发起请求,后续返回的令牌aud就不会携带此前缀
内容的提问来源于stack exchange,提问作者user8072194
相关产品推荐
相关产品推荐

