提问者:小点点

如何在节点js中从数据库中自动删除jsonwebtoken


我正在为登录系统编写代码。 我使用的是mongoDB(mongoose)和Node JS。 当用户登录到应用程序时,一个令牌将在后端生成并保存到数据库(mongoDB)中。 令牌的副本被发送到前端并保存在cookie中。 当用户注销时,保存在前端和后端的令牌将被删除。 问题是当用户从“隐姓埋名”选项卡登录时,用户没有注销,而是关闭了窗口。 保存在前端的令牌将自动删除,但保留在后端。 有没有任何方法检查用户关闭窗口在隐姓埋名标签和我们删除令牌从后端?


共1个答案

匿名用户

您不需要保存web令牌。 也许这个例子给了你一些想法。

app.use((req,res,next)=>{
if(req.headers && req.headers.authorization && req.headers.authorization.split(' ')[0] === 'JWT'){
    jsonwebtoken.verify(req.headers.authorization.split(' ')[1],'AuthenticationProcess',(err,decode)=>{
        if(err) req.user= undefined;
        req.user = decode;
        next();
    })
}else{
    req.user = undefined;
    next();

}});