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

ASP.NET JWT身份验证出现IDX10211:发行者验证失败问题

ASP.NET JWT验证报错IDX10211的解决办法

1. 核对Program.cs中的JWT验证配置

确保AddJwtBearer配置里的ValidIssuer和ValidAudience正确读取自appsettings.json,且未被设为空值。示例代码:

builder.Services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
    .AddJwtBearer(options =>
    {
        options.TokenValidationParameters = new TokenValidationParameters
        {
            ValidateIssuer = true,
            ValidIssuer = builder.Configuration["Jwt:Issuer"],
            ValidateAudience = true,
            ValidAudience = builder.Configuration["Jwt:Audience"],
            ValidateIssuerSigningKey = true,
            IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(builder.Configuration["Jwt:Key"]))
        };
    });

重点检查配置键名是否和appsettings.json中的节点完全匹配,避免因键名拼写错误导致读取到空值。

2. 确保token生成逻辑与验证端一致

生成token时必须使用和验证端完全相同的Issuer、Audience值,直接读取配置文件而非硬编码,示例:

var tokenHandler = new JwtSecurityTokenHandler();
var key = Encoding.UTF8.GetBytes(builder.Configuration["Jwt:Key"]);
var tokenDescriptor = new SecurityTokenDescriptor
{
    Issuer = builder.Configuration["Jwt:Issuer"],
    Audience = builder.Configuration["Jwt:Audience"],
    Expires = DateTime.UtcNow.AddHours(1),
    SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha256Signature)
};
var token = tokenHandler.CreateToken(tokenDescriptor);

即使jwt.io显示token正常,也要确认生成时的Issuer值和验证配置的完全一致。

3. 检查请求头的token传递格式

调用接口时,Authorization请求头必须严格遵循Bearer {token}格式,不能遗漏Bearer前缀,也不能有多余空格。可以通过调试工具(如浏览器开发者工具)确认请求头的正确性。

4. 排查配置文件读取问题

确认appsettings.json中的JWT配置节点有效,示例:

"Jwt": {
  "Issuer": "YourIssuerName",
  "Audience": "YourAudienceName",
  "Key": "YourSecretKeyWithAtLeast16Characters"
}

如果使用多环境配置,要确保当前运行环境加载的配置文件(如appsettings.Development.json)中Issuer值不为空。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 13:52:10