Подтвердить что ты не робот

ValidationError: "expiresInMinutes" не разрешено NodeJs JsonWebToken

Я использую NodeJs с модулем JsonWebtoken.

Я столкнулся с этой ошибкой при вызове метода знака json web token

ValidationError: "expiresInMinutes" не разрешено

var jwt = require('jsonwebtoken');

exports.authenticate = function(req, res, next) {
    var user = {"Name":"Abdul"} //static data for test purpose.

    var token = jwt.sign(user, req.app.get('jwtTokenSecret'), {
          expiresInMinutes: 1440 // expires in 24 hours
        });

        // return the information including token as JSON
        res.json({
          success: true,
          message: 'Enjoy your token!',
          token: token
        });

}
4b9b3361

Ответ 1

Хорошо, я нашел, что из https://www.npmjs.com/package/jsonwebtoken

Вы должны вызвать expiresIn, а не expiresInMinutes.

 var token = jwt.sign(user, req.app.get('jwtTokenSecret'), {
           expiresIn : 60*60*24
         });

Здесь значение expiresIn измеряется в секундах, а не в минутах, поэтому значение должно быть правильно вставлено.

Ответ 2

expiresInMinutes был устаревшим, вы должны использовать expiresIn: '1440m' например

Ответ 3

expiresInMinutes устарел, используйте expiresIn. Из docs:

expiresIn: выражается в секундах или строка, описывающая временной интервал rauchg/ms. Например: 60, "2 дня", "10h", "7d"