使用Jwt Bearer令牌身份验证的Mvc失败

时间:2017-08-15 09:10:40

标签: asp.net-mvc authentication jwt middleware asp.net-authorization

我正在研究.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,我可以发布特定的代码。

提前致谢!

0 个答案:

没有答案