web-dev-qa-db-ja.com

ValidationError: "expiresInMinutes"は許可されていませんNodeJs JsonWebToken

NodeJsとJsonWebtoken Moduleを使用しています。

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

}
63

わかりました https://www.npmjs.com/package/jsonwebtoken

expiresInMinutesではなく、expiresInを呼び出す必要があります。

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

ここで、expiresInの値は分ではなく秒で測定されるため、値を適切に入力する必要があります。

126

expiresInMinutesは廃止されました。たとえば、expiresIn: '1440m'を使用する必要があります

19
kaxi1993

expiresInMinutesは非推奨です。代わりにexpiresInを使用してください。 docs から:

expiresIn:秒単位、または期間を表す文字列 rauchg/ms 。例:60、「2日」、「10時間」、「7日」

7
edelans