如何在节点中访问私有路由时自动保持?

时间:2018-01-19 16:28:07

标签: node.js mongodb jwt passport.js

我是网络开发的初学者,我试图通过生成和存储令牌并使用该令牌访问私有路径来实现节点中的登录系统(...我不想手动在标头中包含令牌以及每个私有身份验证请求。)

我可以在登录时生成此令牌(通过使用JWT),但我无法弄清楚如何使用此令牌自动访问私有路由,而无需在标头中手动包含令牌。

此外,我希望在用户登录时使用此令牌,并在用户注销时将其销毁。

1 个答案:

答案 0 :(得分:0)

生成令牌后,将令牌写入数据库中的用户模型。您也可以将其写入用户的浏览器cookie。

res.cookie('token', token, {
  maxAge: 900000 * 4 * 24 * 30,
  httpOnly: true
});

将其写入cookie后,每次请求都可以使用cookie。然后,您可以通过

访问令牌
const token = req.cookies.token;

使用此令牌授予用户访问权限。

当用户发送注销请求时,从数据库中删除令牌并删除用户的cookie。

res.clearCookie('token');