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),
           };

       });
 
原文地址:https://www.cnblogs.com/zinan/p/7391247.html