我正在尝试执行 CORS GET 来发送 cookie。我已经设置了所有标题(access-control-allow-origin
, access-control-allow-credentials
, access-control-allow-headers
)在服务器中并且正在使用withCredentials: true
and crossDomain: true
在 jquery ajax 请求中。当我告诉浏览器允许第三方 cookie 时,一切正常。有什么方法可以做到这一点而不强迫访问者允许第三方 cookie?我什至尝试过重定向用户并重定向回来,但 CORS 将拒绝发送 cookie。 :/
我尝试通过 ajax 以及 iframe 执行 CORS 请求。
我认为这是不可能的。请参阅我的(旧但相关)博客文章关于这一点。
唯一可靠的方法是使用第一方 cookie(即在顶级窗口中打开窗口,如单独的选项卡,或重定向当前窗口)。
但在某些情况下这是没有必要的。浏览器对第三方 cookie 的概念略有不同,默认行为也不同。这个帖子对这些细节有很好的概述。因此,在某些情况下,您可以使用一些技巧来启用(或至少检测)页面上 cookie 的使用。
其他解决方法包括将一台服务器置于另一台服务器的子域下(子域通常不被视为第三方),或者更改流程以便通过 cookie 以外的其他方式对用户进行身份验证。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)