netcore从1.1升级到2.0时,出的错,因为使用的时Jwt token
参考https://github.com/aspnet/Security/issues/1310#issuecomment-314842779地址下的,
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),
};
});