我尝试在登录后从nodejs服务器设置令牌。我的客户端是react应用程序,我使用axios发出post请求。
当我尝试从邮递员登录时,我在cookie中看到了令牌,但在浏览器中没有cookie。
这是服务器:
res.cookie("token", token, { httpOnly: true }).sendStatus(200);
这是客户端:
return axios.post(serviceUrl + "auth/login", data).then(response => {
return response.data;
});
发布于 2019-05-24 03:39:25
我认为原因可能是当您尝试设置cookie时没有传递域选项。请尝试像这样传递domain : "\"
选项
res.cookie("token", token, { httpOnly: true, domain : '\' }).sendStatus(200);
发布于 2019-05-24 20:19:19
我想通了。Chrome没有在localhost中设置cookie。我检查了edge,它和预期的一样工作。
发布于 2020-05-28 18:04:37
默认情况下,不会为本地主机(Chrome)存储cookie。如果你想绕过这个问题,你可以简单地在chrome dev工具中添加key。转到Application>Storage>Cookies并在其中粘贴"token“。
https://stackoverflow.com/questions/56281891
复制相似问题