【发布时间】:2023-02-03 22:49:41
【问题描述】:
在我的快递中,我使用 res.cookie 来发布一个 cookie
res.cookie("jwt", token, {
expires: new Date(Date.now() + process.env.COOKIEEX * 24 * 60 * 60 * 1000),
withCredentials: true,
httpOnly: false,
});
res.status(200).json({
status: "success",
user,
token,
});
但是当我使用 axios 从我的 React 应用程序向该中间件发送请求时,我在网络 > headers> set-cookie 中找到了 cookie,但它没有在浏览器中设置:
<form
onSubmit={async (e) => {
e.preventDefault();
const res = await axios.post(
"http://127.0.0.1:3000/api/v1/users/login",
{
email: "na@test.test",
password: "password@",
},
{ credentials: true }
);
}}
>
我还尝试设置 samesit=None 和安全,它的工作原理,我可以在浏览器中看到 cookie,但在刷新页面后它消失了:
res.cookie("jwt", token, {
expires: new Date(Date.now() + process.env.COOKIEEX * 24 * 60 * 60 * 1000),
withCredentials: true,
httpOnly: false,
sameSite:"None",
secure:true
});
【问题讨论】:
标签: node.js reactjs http cookies