JwtBearerAppBuilderExtensions.UseJwtBearerAuthentication(IApplicationBuilder

Posted 芝麻的西瓜

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JwtBearerAppBuilderExtensions.UseJwtBearerAuthentication(IApplicationBuilder相关的知识,希望对你有一定的参考价值。

netcore从1.1升级到2.0时,出的错,因为使用的时Jwt token
参考https://github.com/aspnet/Security/issues/1310#issuecomment-314842779地址下的,

 

chris31389解答PinpointTownes 提问的问题,如下:

public class Startup
{
    public void ConfigureServices(IServiceCollection services)
    {
        services.AddAuthentication(options =>
        {
            options.DefaultScheme = JwtBearerDefaults.AuthenticationScheme;
        })

        .AddJwtBearer(options =>
        {
            options.Authority = "http://localhost:30940/";
            options.Audience = "resource-server";
            options.RequireHttpsMetadata = false;
        });
    }

    public void Configure(IApplicationBuilder app)
    {
        app.UseAuthentication();

        // ...
    }
}

所以我的解决方案如下:将原本写在Configure中的函数拿到ConfigureServices下进行配置。
     services.AddAuthentication(options =>
            {
                options.DefaultScheme = JwtBearerDefaults.AuthenticationScheme;
            })
       .AddJwtBearer(options =>
       {
           options.TokenValidationParameters = new TokenValidationParameters
           {
               IssuerSigningKey = TokenAuthOption.Key,
               ValidAudience = TokenAuthOption.Audience,
               ValidIssuer = TokenAuthOption.Issuer,
               ValidateIssuerSigningKey = true,
               ValidateLifetime = true,
               ClockSkew = TimeSpan.FromMinutes(0),
           };

       });
 




以上是关于JwtBearerAppBuilderExtensions.UseJwtBearerAuthentication(IApplicationBuilder的主要内容,如果未能解决你的问题,请参考以下文章