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