我正在开发一个MEAN应用程序,我遇到的问题是我想破坏JWT生成的令牌。最初我认为注销功能可以完成工作:
router.get('/logout', function(req, res) {
req.logOut();
res.status(200).json({
status: 'Bye!'
});
});
但现在我意识到" req.logOut()"只是一个护照功能,它不会对令牌做任何事情。
我在请求的标头中从客户端发送令牌,因此如果用户将令牌保存在其他位置,当注销时,如果令牌包含在请求中,则用户仍然可以访问该应用。所以我的问题如下,我如何销毁令牌?,它是否存储"某个地方?它会被自动毁坏吗?
答案 0 :(得分:3)
我没有找到任何方法来销毁简单的JWT令牌。但我有一个建议来解决你的问题。
您可以在每个会话中将令牌保留在DB中。因此,您可以通过比较来自DB'的令牌来验证客户端请求。使用“客户端请求标头中的令牌”#39;注销时,您可以删除令牌表单数据库。因此,用户无法在退出后访问该应用。