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

Power Automate自定义连接器调用.NET 5 API报令牌无效、受众错误

解决方案

返回的www-authenticate响应头已明确说明错误根因:请求携带的JWT令牌的受众(aud)值api://37008370-*********不在你的API配置的有效受众列表中,可按以下步骤排查解决:

  • 第一步:核对自定义连接器的资源标识配置
    打开自定义连接器的身份验证配置页,确认「资源」字段填写的内容,和你的API对应的Azure AD应用注册中「公开API」标签下的「应用ID URI」完全一致。如果你的Blazor应用调用API时使用纯ClientID作为资源,你可以直接将连接器的资源字段改为37008370-*********(去掉api://前缀)测试是否能正常通行。
  • 第二步:调整.NET Core API的JWT验证配置
    为了兼容不同客户端的调用习惯,建议你在API的JWT验证配置中,同时将纯ClientID和带api://前缀的应用ID URI都加入有效受众列表,参考配置如下:
    builder.Services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
        .AddJwtBearer(options =>
        {
            options.Authority = "https://login.microsoftonline.com/<你的租户ID>";
            options.TokenValidationParameters = new TokenValidationParameters
            {
                // 同时添加两种格式的受众
                ValidAudiences = new List<string> 
                {
                    "37008370-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
                    "api://37008370-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
                },
                ValidateIssuer = true
            };
        });
    
  • 第三步:确认令牌内容定位问题
    你可以将自定义连接器请求返回的JWT令牌复制到本地JWT解析工具解析,查看aud声明的实际值,和API配置的有效受众做对比,即可快速定位不匹配的具体项。
  • 第四步:验证权限配置
    确认你自定义连接器使用的Azure AD应用,已经被授予你API公开的对应权限,且租户管理员已经完成权限同意。

内容的提问来源于stack exchange,提问作者stuart-bailey-uk

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 05:24:03