【发布时间】:2020-09-17 23:01:35
【问题描述】:
我有两个 API 路由,我想在 /api/login.js 中设置两个 cookie 并在 /api/logout.js 中删除它们。
这是我的登录 API:
import { serialize } from 'cookie';
export default async (req, res) => {
res.setHeader('Set-Cookie', [
serialize('mytoken1', 'mytoken1Value', {
path: '/',
}),
serialize('mytoken2', 'mytoken2Value', {
path: '/',
}),
]);
res.writeHead(302, { Location: '/' });
res.end();
}
这是我的注销 API:
export default async (req, res) => {
res.removeHeader('Set-Cookie')
res.writeHead(302, { Location: '/api/login' });
res.end();
}
但注销不会删除 cookie,所以当我重新加载页面时,我仍然可以在 _app.js ---console.log(req.headers.cookie)--- 中看到它们.你知道在这种情况下如何删除 cookie 吗?
【问题讨论】:
-
要清除一个cookie,你可以用过去的日期再次设置它,而不是简单地删除标题
-
这能回答你的问题吗? Destroy cookie NodeJs
-
@LawrenceCherone 我试过了,不幸的是它不起作用
-
您发送的第二个链接无效。它一直说:TypeError:cookie__WEBPACK_IMPORTED_MODULE_3___default.a.set 不是函数
标签: node.js express cookies next.js