Я слежу за учебником по микросервисам. Я дошел до того, что использовал токены на предъявителя для базовой модели авторизации c. Я создаю токен и устанавливаю все свойства, но когда я пытаюсь использовать токен, он выдает мне ошибку: Bearer error="invalid_token", error_description="The token expired at '04/03/2020 21:47:31'"
, даже если в настоящее время он имеет значение 21:42, так что срок его действия фактически не истек.
Я просто проверяю это url: https://localhost: 5001 / api / Activities / GetActivity
Может ли быть проблема с почтальоном, я уже пытался сменить издателя, добавив более 5 минут, добавив больше заголовков в почтальон и не повезло.
Это моя функция для создания токена:
public CustomJsonWebToken Create(Guid userId)
{
var nowUtc = DateTime.UtcNow;
var expiration = nowUtc.AddMinutes(jwtOptions.ExpiryMinutes);
var centuryBegin = new DateTime(1970, 1, 1).ToUniversalTime();
var exp = (long)(new TimeSpan(expiration.Ticks - centuryBegin.Ticks).TotalSeconds);
var now = (long)(new TimeSpan(nowUtc.Ticks - centuryBegin.Ticks).TotalSeconds);
var payload = new JwtPayload
{
{"sub", userId},
{"iss", jwtOptions.Issuer},
{"iat", now},
{"exp", exp},
{"unique_name", userId}
};
var jwt = new JwtSecurityToken(jwtHeader, payload);
var token = jwtSecurityTokenHandler.WriteToken(jwt);
return new CustomJsonWebToken
{
Token = token,
Expire = exp
};
}