我有一个问题。我可以在应用程序中生成 jwt 令牌,没问题。但是,当我添加授权任何端点时,我在邮递员上收到无效令牌警报。我已经尝试过 Postman 上的标头或授权选项卡。但问题依然存在。
builder.Services.AddAuthentication(options =>
{
options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
})
.AddJwtBearer(options =>
{
options.TokenValidationParameters = new TokenValidationParameters
{
ValidateIssuer = true,
ValidateAudience = true,
ValidateLifetime = true,
ValidateIssuerSigningKey = true,
ValidIssuer = jwtSettings["Issuer"],
ValidAudience = jwtSettings["Audience"],
IssuerSigningKey = new SymmetricSecurityKey(key)
};
});
——————
app.UseHttpsRedirection();
app.UseAuthentication();
app.UseAuthorization();
app.MapControllers();
app.Run();
public TaskController(AppDbContext context)
{ _context = context; }
[HttpGet("gettaskdescription")]
[Authorize]
public IActionResult GetTasksTitle(int id)
{
var tasks = _context.Tasks.ToList();
var taskControl = tasks.FirstOrDefault(x => x.Id == id);
我认为令牌已生成,但无法发送以进行授权。请帮忙谢谢。 最好的问候
您应该将
key
参数与生成令牌的密钥进行比较。您可能会收到错误,因为验证位置和生成位置的 key
不同。