【发布时间】:2020-09-10 16:21:51
【问题描述】:
我想通过 Vercel 无服务器函数的响应发送一个“httpOnly”cookie。我没有使用 Express。
我试过res.setHeader("Set-Cookie", `ck=${cookie_value}`);
这不起作用。如何发送 cookie 并为其设置过期时间?
【问题讨论】:
-
你找到设置cookie的方法了吗?请与我们分享。
我想通过 Vercel 无服务器函数的响应发送一个“httpOnly”cookie。我没有使用 Express。
我试过res.setHeader("Set-Cookie", `ck=${cookie_value}`);
这不起作用。如何发送 cookie 并为其设置过期时间?
【问题讨论】:
标准 Node.js setHeader 与标准 Set-Cookie 标头配合使用。
尝试使用这样的数组:
module.exports = (req, res) => {
res.setHeader('Set-Cookie', ['ck=value; Expires=Tue, 01 Dec 2020 00:00:00 GMT; HttpOnly']);
res.end('It worked, check your cookies in devtools');
}
为了更好的界面,您可以尝试安装cookie 包。
const { serialize } = require('cookie')
module.exports = (req, res) => {
const cookie = serialize('ck', 'value', {httpOnly: true, expires: new Date('2020-12-01')})
res.setHeader('Set-Cookie', [cookie]);
res.end('It worked, check your cookies in devtools');
}
【讨论】: