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

blpfk2vs  于 2022-11-23  发布在  iOS
关注(0)|答案(2)|浏览(163)

所以我正在做一个项目,前端是在vercel上托管的Next.JS,后端是在heroku上托管的Express.JS。
我使用express-session和passport JS来存储会话。
在前端,我使用axios进行HTTP调用。会话的cookie被保存在Chrome上,但在Safari上却没有保存。我看过多个StackOverflow帖子,但都没有成功。Safari在头中接收cookie,但没有保存cookie

下面是我在express

上的cors配置
这里有什么问题?

ghhaqwfi

ghhaqwfi1#

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

d6kp6zgx

d6kp6zgx2#

如果您无法在同一个域中部署它们,您可以在Safari设置(移动的和浏览器)中关闭Prevent Cross-Site Tracking,使其与第三方域Cookie一起工作。

相关问题