jsonwebtoken возвращает истекший токен, если нет - PullRequest
0 голосов
/ 30 апреля 2019

У меня аутентификация на основе JWT, я успешно генерирую токен, проблема в том, чтобы проверить этот токен.я использую библиотеку jsonwebtoken, я использую метод проверки, предоставленный для проверки моих токенов, но он выдает ошибку токена с истекшим сроком действия, когда токен не истек.

Я использую экспресс-фреймворк с библиотекой jsonwebtoken для генерации и проверки токенов.Проверка выполняется на промежуточном программном обеспечении, которое вызывается на защищенных маршрутах.

Когда я регистрирую пользователя, я помещаю его данные сеанса в полезную нагрузку jwt, используя библиотеку jsonwebtoken и секретный код с кодом:

const generateToken = (payload, secret, expiration) => {
    return jwt.sign(payload, secret, {expiresIn: expiration});
};

и я проверяю токены на промежуточном программном обеспечении с помощью этой функции:

const validateToken = (token, secret) => {

  return new Promise((resolve, reject) =>
  {
    jwt.verify(token, secret, (err, decodedToken) =>
    {
      if (err || !decodedToken)
      {
        return reject(err)
      }

      return resolve(decodedToken)
    })
  })
};

когда я отправляю токен на любой защищенный маршрут, он выдает мне эту ошибку:

"message": {
        "name": "TokenExpiredError",
        "message": "jwt expired",
        "expiredAt": "2019-04-30T14:21:17.000Z"
    }

я используюслучайный секрет типа «ajbakbvabikae», срок действия которого 3600.

для функции проверки корректно предоставили токен и секрет, я проверяю его в почтальоне, и эти параметры установлены правильно.

в чем тут проблема?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...