next.js中js-cookies删除cookie后依然存在的问题

问题描述

项目中点击退出账户,然而jwt没有删除掉,依然处于登陆状态

修复步骤

1: 清理cookies时,需要添加path和domain

//js
    Cookies.remove("goc-jwt", {
      path: "/",
      domain: process.env.NEXT_PUBLIC_clearCookieDomain,
    });

2: 对于不同的环境,使用不同的domain前缀,domain前缀使用环境变量的方式获得

#.env
clearCookieDomain=xxx

3:默认情况下,环境变量仅在 Node.js 环境中可用,这意味着它们不会暴露给浏览器。
为了向浏览器公开变量,必须在变量前面加上NEXT_PUBLIC_.,在next.config.js中添加。

//next.config.js
NEXT_PUBLIC_clearCookieDomain:process.env.clearCookieDomain,

参考: https://nextjs.org/docs/basic-features/environment-variables


版权声明:本文为weixin_42498253原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。