【发布时间】:2021-10-23 05:48:31
【问题描述】:
我正在开发一个 api 项目并且需要使用 jwt,我已经在启动时对其进行了配置,但是每当我在操作上使用 [Authorize] 时都会收到 404 Notfound 响应。我还注意到,如果我使用 [Authorize(AuthenticationSchemes = "Bearer")],它将正常工作。而且我不想使用那个长语句。请问可能是什么原因?下面是我在启动时的 jwt 配置。
services.AddAuthentication(options =>
{
options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
}).AddJwtBearer(options =>
{
options.TokenValidationParameters = new TokenValidationParameters
{
ValidateIssuerSigningKey = true,
IssuerSigningKey = new SymmetricSecurityKey(System.Text.Encoding.UTF8.GetBytes(Configuration.GetSection("JWTConfigurations:SecretKey").Value)),
ValidateIssuer = true,
ValidIssuer = Configuration.GetSection("JWTConfigurations:Issuer").Value,
ValidateAudience = true,
ValidAudience = Configuration.GetSection("JWTConfigurations:Audience").Value,
};
});
【问题讨论】:
标签: asp.net asp.net-core jwt asp.net-apicontroller