我有一个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