我向客户端发送了一个仅限 http 的 cookie,以保持登录并保护我的服务器路由。它适用于除 safari 之外的所有浏览器。但是,我可以在 Safari 的网络选项卡中看到服务器正确发送了 cookie。如何强制此浏览器接受 cookie?
我的服务器有这个 url 格式:www.my-server.heroku.com
,我的客户端有这个 url 格式:https://www.my-client.com
。如果我需要让服务器 url 与带有子域的客户端匹配,该怎么做?
cookie 的发送方式如下:
return res
.status(200)
.cookie("myApp", token, {
expires: new Date(Date.now() + msPerDay * 14),
httpOnly: true,
secure: true,
sameSite: "none",
})
.json({ user });
我已将 sameSite
属性设置为 none
否则它在其他浏览器上不起作用(可能是因为 heroku 服务器域和自定义客户端域之间存在差异)