ValidationError:“expiresInMinutes”不允许NodeJs JsonWebToken

我正在使用NodeJs和JsonWebtoken模块。

我在调用json web token的sign方法时遇到这个错误

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

好吧,我发现从https://www.npmjs.com/package/jsonwebtoken

你必须调用expiresIn而不是expiresInMinutes

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

这里expiresIn的值是以秒为单位而不是以分钟为单位,所以值必须正确放入。

expiresInMinutes已被弃用,您应该使用expiresIn: '1440m'

expiresInMinutes已弃用,请使用expiresIn代替。 从文档 :

expiresIn :以秒为单位表示或描述时间跨度rauchg / ms的string。 例如:60,“2天”,“10h”,“7d”