微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

res.clearCookie - 删除 JWT 令牌

如何解决res.clearCookie - 删除 JWT 令牌

我正在尝试设置一个路由,用于删除客户端浏览器上包含 JWT 的 cookie。

为此,我使用 res.ClearCookie 函数

    public async logout (req: Request,res: Response) {

        res.clearCookie('auth-token',{httpOnly: true,path:'/',domain: 'localhost'});

        console.log('cookie deleted')

    }

我已经看到 clearCookie 函数必须包含我在创建过程中传递的相同对象,所以这是我创建它的方式

const accesstoken: string = jwt.sign({id: existingUser.id},process.env.ACCESS_TOKEN_SECRET || 'tokensecret' )

return res.cookie('auth-token',accesstoken,domain: 'localhost'}).json(mainWallet[0].id)

这样,当我尝试注销时,cookie 不会被删除

你有解决这个问题的想法吗?

谢谢,

保罗

解决方法

我遵循了一个新教程,其中说以这种方式设置注销路由。这次成功了

res.status(202).clearCookie('auth-token').send('cookie cleared')
,

使用这些代码集来构建您的 Api。这是我发现的最干净和最短的注销

export const logout = async (req,res,next) => {
  res.clearCookie("jwt");
  res.redirect("/");
};

这只清除cookie中存储的token

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。