无法使用JWT处理授权

时间:2020-03-14 23:22:02

标签: node.js express jwt

我正在尝试创建受保护的路由,一旦用户登录,便向用户发出令牌,并在用户尝试访问受保护的资源时检查此令牌。我能够生成令牌并将其作为响应发送回以下代码,

const token = jwt.sign({_id:found._id.toString()},process.env.KEY);
res.header('token', token );
res.render("dashboard");

因此,在用户登录后,我转到仪表板,我可以看到将令牌设置为令牌的响应标头。但是,当我尝试导航到机密资源页面时,身份验证处理程序会收到一个请求,但是请求的标头中没有令牌,因此我无法对其进行验证。

router.get('/secret',auth,function(req,res)
{
   res.render('secret')
}
);

试图弄清楚如何正确设置令牌头,以便令牌头被发出并可以对其进行验证。

1 个答案:

答案 0 :(得分:0)

在客户端,您应该在标头中发送令牌作为授权

之后,您可以使用接收后端的客户端令牌 req.get('授权') 并使用验证 jwt.verify