У меня аутентификация на основе 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.
для функции проверки корректно предоставили токен и секрет, я проверяю его в почтальоне, и эти параметры установлены правильно.
в чем тут проблема?