【发布时间】:2020-07-23 02:01:52
【问题描述】:
我正在尝试在我的 Web API 项目(在 .Net Core 2.2 中开发)中实现 JWT 身份验证,但由于启动类中的配置而出现错误。当我在没有此代码的情况下运行我的应用程序时,它可以完美运行而没有任何错误。这是配置代码。
services.AddAuthentication(options =>
{
options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
}).AddJwtBearer(options =>
{
options.SaveToken = true;
options.RequireHttpsMetadata = false;
options.TokenValidationParameters = new Microsoft.IdentityModel.Tokens.TokenValidationParameters
{
ValidAudience = Configuration.GetSection("Jwt").GetSection("Issuer").Value,
ValidIssuer = Configuration.GetSection("Jwt").GetSection("Issuer").Value,
ValidateIssuer = false,
ValidateAudience = false,
ValidateLifetime = true,
ValidateIssuerSigningKey = true,
IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(Configuration.GetSection("Jwt").GetSection("Key").Value))
};
});
请问有什么解决办法吗?
【问题讨论】:
-
删除
AddAuthentication中的选项并将其留空services.AddAuthentication()
标签: .net-core jwt asp.net-core-webapi jwt-auth