Я использую JWT в своем. Net Базовом приложении и использую System.IdentityModel.Tokens.Jwt (5.6.0). Я пытаюсь установить время истечения следующим образом:
var token = new JwtSecurityToken(
"www.site.com",
"www.site.com",
claims,
expires: DateTime.UtcNow.AddMinutes(5),
signingCredentials: credentials);
Время моего компьютера - 14:38, а токены проверяются на правильность - 9,43. Который должен быть 2.43 вечера.
Мои конфигурации Startup.cs приведены ниже:
services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
.AddJwtBearer(options =>
{
options.TokenValidationParameters = new TokenValidationParameters
{
ClockSkew = TimeSpan.Zero,
ValidateIssuer = true,
ValidateAudience = true,
ValidateLifetime = true,
ValidateIssuerSigningKey = true,
ValidIssuer = Configuration["Authentication:Issuer"],
ValidAudience = Configuration["Authentication:Issuer"],
IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(Configuration["Authentication:Secret"]))
};
});
В чем причина этого? Спасибо за помощь.