我正在研究.NET核心应用程序。
我想要完成的是一些控制器需要用户登录,验证由Jwt Bearer Token完成。到目前为止,我尝试使用app.UseJwtBearerAuthentication();
配置我的startup.cs,如下所示:
app.UseJwtBearerAuthentication(new JwtBearerOptions
{
AuthenticationScheme = JwtBearerDefaults.AuthenticationScheme,
AutomaticAuthenticate = true,
AutomaticChallenge = true,
RequireHttpsMetadata = false,
TokenValidationParameters = new TokenValidationParameters
{
ValidateAudience = true,
ValidAudience = "http://localhost:5122",
ValidateIssuer = true,
ValidIssuer = "http://localhost:5122",
ValidateIssuerSigningKey = false,
ValidateLifetime = true,
ClockSkew = TimeSpan.Zero
}
});
今晚我用[Authorize]
属性修饰了我的控制器,以确保用户已登录。
当我没有IIS运行时,我设法捕获以下'错误':
info: Microsoft.AspNetCore.Authorization.DefaultAuthorizationService[2]
Authorization failed for user: (null).
虽然我没有建议为什么用户为null,因为在HttpContext中它只是填充了当前用户的声明。任何人都可以向我提供一些关于问题在哪里或如何解决它的情报?如果是nessecairy,我可以发布特定的代码。
提前致谢!