nodejs使用JWT进行token验证时,出现 UnauthorizedError,是什么原因?

``

if(token){
    try{
        let decoded = jwt.verify(token, config.jwt.secret);
        //console.log(decoded)

        let deadline = new Date()/1000;
        if(decoded.exp <= deadline){
            console.log('expired token');
            ctx.redirect('/views/admin/login.html'); //token过期,则跳转到登陆页面
        }else{
            console.log('鉴权成功!');
            await next();
        }
    }catch(err){
        ctx.throw(401, 'expired token');      //token验证失败
    }
}else{
    ctx.redirect('/views/admin/login.html');  //缺少token,则跳转到登陆页面
}

``
图片描述

上面代码,是如果存在token,则进行验证。我在验证时,可以获取token,也能正常解析,可是抛出UnauthorizedError错误,是为什么呢?

阅读 8.4k
1 个回答

else{

        console.log('鉴权成功!');
        // 下面 这个中间是什么,应该是 next 报的错。
        await next();

}

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题