jwt中过期时间使得程序报错不往下走
我使用until的promisify 把jwt中的verify变为同步的,当我调用这个函数传入一个过期的token时,他报错了,程序不往下走了!!!
const util = require('util');
const verify = util.promisify(jwt.verify)
async getToken (cookieStr){
return verify(cookieStr.replace(/(^\s*)|(\s*$)/g, ""), 'screct').then(function(res){
return res
}).catch(function(err){
return false
})
}
let PAYLOAD= await getToken(ctx.header.authorization)
erver error { TokenExpiredError: jwt expired
at E:\demo\node_modules\_jsonwebtoken@8.3.0@jsonwebtoken\verify.js:141:21
at getSecret (E:\demo\node_modules\_jsonwebtoken@8.3.0@jsonwebtoken\verify.js:76:14) }
我使用回调它却是好使的。
jwt.verify(cookieStr, this.sign, function (err, decode) {
if (err) { // 时间失效的时候/ 伪造的token
rs.json({err:err})
} else {
rq.decode = decode;
console.log(decode.msg); // today is a good day
next();
}
})
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论