为什么我的 cookie 没有保存在 Safari 上,而是保存在 Chrome 上?

Has*_*ikh 2 cookies safari express axios

所以我正在开发一个项目,前端是在 vercel 上托管的 Next.JS,后端是在 heroku 上托管的 Express.JS。

我使用 Express-Session 和 Passport JS 来存储会话。

在前端,我使用 axios 进行 HTTP 调用。会话的 cookie 正在 Chrome 上保存,但在 Safari 上却没有保存。我浏览了多个 StackOverflow 帖子,但没有一个起作用。Safari 正在接收标头中的 cookie,但不保存 cookie Safari 上收到 Cookie

这是我在express上的cors配置 科尔斯配置

这里可能有什么问题?

Has*_*ikh 8

好吧,事实证明发生这种情况的原因是 Safari 不允许跨域 cookie。因此,解决此问题的唯一真正方法是将后端和前端托管在同一域的不同子域上。