【问题标题】:res.clearCookie - Delete a JWT tokenres.clearCookie - 删除一个 JWT 令牌
【发布时间】:2021-03-30 13:53:49
【问题描述】:

我正在尝试在客户端浏览器上设置删除包含 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, {httpOnly: true, path:'/', domain: 'localhost'}).json(mainWallet[0].id)

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

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

谢谢,

保罗

【问题讨论】:

标签: node.js typescript jwt


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

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

    这只会清除 cookie 中存储的令牌

    【讨论】:

      猜你喜欢
      • 2019-08-01
      • 2019-02-08
      • 2017-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-03
      • 2023-03-20
      • 1970-01-01
      相关资源
      最近更新 更多