Node.js 异常行为jsonwebtoken已过期错误
我有一个Node.js应用程序,它使用jsonwebtoken进行会话管理 但是,在令牌过期后,当我想再次访问时,我得到:Node.js 异常行为jsonwebtoken已过期错误,node.js,jwt,Node.js,Jwt,我有一个Node.js应用程序,它使用jsonwebtoken进行会话管理 但是,在令牌过期后,当我想再次访问时,我得到: { TokenExpiredError: jwt expired at Object.module.exports [as verify] (/home/ubuntu/me-n-you/node_modules/jsonwebtoken/verify.js:126:19) at auth (/home/ubuntu/me-n-you/app_server/r
{ TokenExpiredError: jwt expired
at Object.module.exports [as verify] (/home/ubuntu/me-n-you/node_modules/jsonwebtoken/verify.js:126:19)
at auth (/home/ubuntu/me-n-you/app_server/routes/index.js:14:9)
at Layer.handle [as handle_request] (/home/ubuntu/me-n-you/node_modules/express/lib/router/layer.js:95:5)
at next (/home/ubuntu/me-n-you/node_modules/express/lib/router/route.js:137:13)
at Route.dispatch (/home/ubuntu/me-n-you/node_modules/express/lib/router/route.js:112:3)
at Layer.handle [as handle_request] (/home/ubuntu/me-n-you/node_modules/express/lib/router/layer.js:95:5)
at /home/ubuntu/me-n-you/node_modules/express/lib/router/index.js:281:22
at Function.process_params (/home/ubuntu/me-n-you/node_modules/express/lib/router/index.js:335:12)
at next (/home/ubuntu/me-n-you/node_modules/express/lib/router/index.js:275:10)
at Function.handle (/home/ubuntu/me-n-you/node_modules/express/lib/router/index.js:174:3)
at router (/home/ubuntu/me-n-you/node_modules/express/lib/router/index.js:47:12)
at Layer.handle [as handle_request] (/home/ubuntu/me-n-you/node_modules/express/lib/router/layer.js:95:5)
at trim_prefix (/home/ubuntu/me-n-you/node_modules/express/lib/router/index.js:317:13)
at /home/ubuntu/me-n-you/node_modules/express/lib/router/index.js:284:7
at Function.process_params (/home/ubuntu/me-n-you/node_modules/express/lib/router/index.js:335:12)
at next (/home/ubuntu/me-n-you/node_modules/express/lib/router/index.js:275:10)
name: 'TokenExpiredError',
message: 'jwt expired',
expiredAt: 2018-05-08T21:14:27.000Z }
我重复得到相同的错误,直到很长一段时间,然后我可以再次访问
但是,如果同时使用其他设备或浏览器,我可以访问
我不知道如何修理它。有人对此有任何线索吗
提前谢谢
Richard Xu如果您使用的是bcrypt,也可以再次登录
bcrypt.compare(req.body.password, data[0].password, (err, resposne) => {
if (err) {
res.status(500).json(err);
}
//response is either true or false
if (resposne) {
const token = jwt.sign({
email: data[0].email,
userId: data[0]._id
}, "secret",
{
expiresIn: "1h"
})
return res.status(200).json({
message: 'Auth successful',
token: token
})
} else {
return res.status(401).json({ message: 'Auth failed' })
}
})
增加您的有效期限制我正在使用passport模块。