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), }; });
如果对你有用,请点赞支持,你的支持,是我不断分享的动力。