2

我正在为 node.js 使用 jsonwebtoken 包:

像这样创建令牌:

var token = jwt.sign(user, tokenSecret, {expiresInMinutes: 1});

像这样验证:

jwt.verify(token, tokenSecret, function(err, decoded) {
    if(err) return done(new Error('Invalid authentication!'));
    if(!decoded) return done(null, false);

    return done(null, decoded, { scope: 'all'});
});

但是我的令牌永不过期(我在“请求”之间等了几分钟)。

4

1 回答 1

4

好的,我有一些想法,在创建令牌之前尝试转储用户对象。像这样的东西:

db.user.find(query, function(user){
    var userInfo = {
        id: user.id,
        name: user.name,
        role: user.role
    }

    return jwt.sign(userInfo, tokenSecret, {expiresInMinutes: 1});
})
于 2015-03-05T10:41:45.530 回答