Safari跨站点Ajax调用不存储cookie



我有一个VueJS网站和一个AWS后端。

假设该网站位于www.mywebsite.com上,位于带有CPanel的托管服务器上,我在aws上的后端运行在www.mybackend.com 下

当用户使用该网站登录时,它会对后端进行axios/fetch调用。后端将返回www.mywebsite.com域的设置cookie。

尽管Chrome和FF运行良好。Safari不存储cookie,因为它是一个跨站点cookie。

有没有什么简单的方法可以让Safari存储cookie并将其发送到后端的调用?我可以用主域中的子域屏蔽后端url吗?有什么想法吗?

Safari的行为与其他浏览器不同。它只允许来自同一cookie域的跨来源cookie。

因此,你可以让它发挥作用,但前提是你可以更改URL,使域匹配。

因此,如果你有一个网站:

www.mywebsite.com

后端位于:

backend.mywebsite.com

然后,您可以通过设置Domain:来共享cookie

Set-Cookie: my-cookie=value; Domain=mywebsite.com

如果这两个网站位于完全不相关的域上,而你无法更改这一点,那么我不知道有什么方法可以在Safari中实现这一点。

我在https://cors-errors.info/faq#cdc8

相关内容

  • 没有找到相关文章

最新更新