reactjs (express.js)即使在通过setHeader函数设置一个cookie后仍返回空cookie

fhity93d  于 2022-12-26  发布在  React
关注(0)|答案(1)|浏览(119)

客户:

<a href="http://localhost:3001/user/login">Login</a>

服务器:

const token = jwt.sign({ broadcasterId: user.twitchId }, process.env.JWT_SECRET);

res.writeHead(301, {
    "Location": "http://localhost:3000",
    "Set-Cookie": [`jwt=${token}; HttpOnly`],
});
res.end();

我希望上面的代码沿着响应返回Cookie,但客户端上没有设置Cookie。
对服务器(端口3001)使用express.js,对客户端(端口3000)使用react。

我不知道为什么,但是直接从浏览器调用API(http://localhost:3001/user/login)实际上包含了一个想要的jwt cookie。

d6kp6zgx

d6kp6zgx1#

如果您将cookie设置为HttpOnly,则无法使用客户端JS访问它:

"Set-Cookie": [`jwt=${token}; HttpOnly`],

https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies#restrict_access_to_cookies

相关问题