web-dev-qa-db-fra.com

ValidationError: "expiresInMinutes" n'est pas autorisé NodeJs JsonWebToken

J'utilise NodeJs avec le module JsonWebtoken.

Je suis confronté à cette erreur lors de l'appel de la méthode de signalisation de jeton Web Json

ValidationError: "expiresInMinutes" n'est pas autorisé

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
        });

}
63

Ok j'ai trouvé que de https://www.npmjs.com/package/jsonwebtoken

Vous devez appeler expiresIn plutôt que expiresInMinutes .

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

Ici, la valeur de expiresIn est mesurée en secondes plutôt qu'en minutes, elle doit donc être entrée correctement.

126

expiresInMinutes était obsolète, vous devriez utiliser expiresIn: '1440m' par exemple

19
kaxi1993

expiresInMinutes est obsolète, utilisez plutôt expiresIn. De la docs :

expiresIn: exprimé en secondes ou en une chaîne décrivant un intervalle de temps rauchg/ms . Ex: 60, "2 jours", "10h", "7j"

7
edelans