此问题可能与以下代码中的配置有关,请尝试检查以下代码是否正确配置:
1.确保您已经在Startup.cs文件中启用JWT身份验证:
services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme) .AddJwtBearer(options => { options.TokenValidationParameters = new TokenValidationParameters { ValidateIssuerSigningKey = true, IssuerSigningKey = new SymmetricSecurityKey(Encoding.ASCII.GetBytes(Configuration.GetSection("JwtKey").Value)), ValidateIssuer = false, ValidateAudience = false }; });
2.确保您已经正确配置身份验证,例如在Controller中使用[Authorize]特性:
[Authorize] [ApiController] [Route("api/[controller]")] public class MyController : ControllerBase { // Your API actions go here }
public static void AddJwtBearerAuthentication(this IServiceCollection services, IConfiguration configuration) { var jwtSettingsSection = configuration.GetSection("JwtSettings");
services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
.AddJwtBearer(options =>
{
options.TokenValidationParameters = new TokenValidationParameters
{
ValidateIssuerSigningKey = true,
IssuerSigningKey = new SymmetricSecurityKey(Encoding.ASCII.GetBytes(jwtSettingsSection["Secret"])),
ValidateIssuer = false,
ValidateAudience = false
};
});
}
通过检查并正确配置这些代码段,您应该能够成功解决ASP.NET Core 5.0的JWT验证401代码问题。
上一篇:ASP.NETCore5.0的常规路由是否依赖顺序?
下一篇:ASP.NETCore5.0的Web应用程序-在IIS服务器上发布的开箱即用应用程序中,来自wwwroot的静态文件出现404错误。