asp.net - ASP.NET Core 2.2 WebApi 状态码 415 上的身份验证错误
问题描述
我的 ASP.NET Core 2.2 WebApi 项目中有一个有趣的错误。
我实现了运行良好的 JWT 身份验证:
public void ConfigureServices(IServiceCollection services)
{
...
services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
.AddJwtBearer(options =>
{
var signigKey = Convert.FromBase64String(AuthSettings.IssuerSigningKey);
options.TokenValidationParameters = new TokenValidationParameters()
{
ValidateAudience = false, // Not required as no third-party is involved
ValidateIssuer = false, // Not required as no third-party is involved
ValidateLifetime = true,
ValidateIssuerSigningKey = true,
IssuerSigningKey = new SymmetricSecurityKey(signigKey)
};
});
...
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
...
app.UseAuthentication();
...
}
现在,当我使用无效的不记名令牌时,api 返回状态代码 415 而不是 401。但标题与预期的一样(无效签名......)。
我发现问题出在UseStatusCodePagesWithReExecute
中间件上。当我强制出现 404 错误时,中间件工作正常。
当我删除 middelware 时,未经身份验证的请求中的状态码是 401。
有人有想法吗?
问候,菲利普
解决方案
推荐阅读
- c++ - 如何使用 SDL2 为每个线程设置一个共享的 OpenGL 上下文?
- sql - 获取 PLS-00382:表达式类型错误
- fluid - 翻译 powermail 表格
- rust - 在循环/赋值中:预期类型参数`T`,找到`&T`
- flutter - Flutter - 只要用户按下小部件,就可以更改文本样式
- python - 使用特殊字符格式化字符串
- python - pandas - 在特定单词之后加入单词
- r - 使用 rep() 函数时的“次”参数无效
- html - 图中的“可聚焦元素应具有交互式语义”是什么意思?
- c# - 测试 .net core 2.2 web api 控制器时收到 InvalidOperationException 错误