Использую JWTBearer. Пытаюсь валидировать токен с клиента
Код валидатораprivate bool ValidateToken(string? _authToken)
{
var tokenHandler = new JwtSecurityTokenHandler();
var validationParameters = GetValidationParameters();
SecurityToken validatedToken;
if (_authToken != null)
{
IPrincipal principal = tokenHandler.ValidateToken(_authToken, validationParameters, out validatedToken);
}
return true;
}
ValidationParameters
Параметры валидацииRequireExpirationTime = true,
ValidateIssuer = true,
ValidateAudience = true,
ValidateLifetime = true,
ValidAudience = _configuration["JWT:ValidAudience"],
ValidIssuer = _configuration["JWT:ValidIssuer"],
IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_configuration["JWT:SecretKey"])),
ClockSkew = TimeSpan.Zero
Делаю запрос постменом, если токен валидный, то он пропускает и все хорошо.
Но, если токен не существует или просрочен он падает в исключение
IDX10223: Lifetime validation failed. The token is expired. ValidTo: 'System.DateTime', Current time: 'System.DateTime'.
Видел что создавали issue на гитхабе, но это было давно и вроде как они закрыты. Так же писали о синхронизации времени на сервере и клиенте (пробовал). Информации по этому не особо нашел.
В чем проблема? Просто ловить и обрабатывать исключение?