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();
    }
})
阅读 3.1k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题