JWT在注销时销毁令牌

时间:2016-10-20 16:50:02

标签: angularjs express token passport.js mean

我正在开发一个MEAN应用程序,我遇到的问题是我想破坏JWT生成的令牌。最初我认为注销功能可以完成工作:

router.get('/logout', function(req, res) {
  req.logOut();
  res.status(200).json({
    status: 'Bye!'
  });
});

但现在我意识到" req.logOut()"只是一个护照功能,它不会对令牌做任何事情。

我在请求的标头中从客户端发送令牌,因此如果用户将令牌保存在其他位置,当注销时,如果令牌包含在请求中,则用户仍然可以访问该应用。所以我的问题如下,我如何销毁令牌?,它是否存储"某个地方?它会被自动毁坏吗?

1 个答案:

答案 0 :(得分:3)

我没有找到任何方法来销毁简单的JWT令牌。但我有一个建议来解决你的问题。

您可以在每个会话中将令牌保留在DB中。因此,您可以通过比较来自DB'的令牌来验证客户端请求。使用“客户端请求标头中的令牌”#39;注销时,您可以删除令牌表单数据库。因此,用户无法在退出后访问该应用。