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

.NET 6控制台应用获取Azure B2C Token时Audience指向自身求助

解决Azure B2C控制台应用Token受众指向自身的问题

问题分析

你遇到的Token受众(aud)指向自身的问题,核心原因是目标API的作用域配置不匹配、控制台应用权限未正确关联目标API,或是MSAL缓存中存在旧的错误Token。以下是具体解决步骤:

解决方案

1. 核对目标API的标识符URI

登录Azure门户,找到目标API的应用注册,查看概述页的标识符URI,确保代码中使用的https://<resourcename>/<apiname>与该URI完全一致——Azure B2C对URI的大小写、斜杠、拼写严格敏感,任何差异都会导致Token受众错误。

2. 确认控制台应用的API权限配置

从你提供的权限截图,需验证两点:

  • 已添加的是目标API的Delegated权限,而非当前控制台应用自身的权限
  • 若权限标记为“需要管理员同意”,已在API权限页面完成授予管理员同意操作

3. 清理MSAL缓存并验证作用域

  • 清除旧缓存:控制台应用的MSAL缓存默认存放在用户目录的.msal文件夹中,删除该文件夹可强制重新获取Token,避免旧的错误Token干扰。
  • 检查作用域参数:确保代码中scopes数组里的目标API作用域完全匹配目标API定义的格式,示例如下:
    string[] scopes = new string[] {
        "openid", "profile", "offline_access",
        "https://<目标API的标识符URI>/tasks.read",
        "https://<目标API的标识符URI>/tasks.write"
    };
    

4. 解析Token验证结果

获取新Token后,使用JWT解析工具检查内容:

  • 确认aud字段值为目标API的标识符URI
  • 确认scp字段包含你请求的tasks.read、tasks.write等作用域

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 07:00:10