我注意到浏览器存储延迟或将跨域Cookie分配给其返回的域以外的其他域。
我有3个域名。 www.mysite.com 哪个电话...... api.mysite.com/register ,这会返回一个SSO Cookie,其Cookie在标头中设置并分配给.mysite.com 然后将用户重定向到 accounts.mysite.com
SSO令牌正确地从api.mysite.com返回,99%的时间传递给accounts.mysite.com。 但是,如果我将超时延迟设置为1000毫秒,我将保证将SSO cookie传递给accounts.mysite.com。
我在网上找不到任何关于浏览器传递CORS cookie的延迟的参考资料。 CORS在标题中始终正确设置,即使它失败。当我检查它并且域被正确设置为.mysite.com时,我看起来很好。我发现事件尝试了它而没有前导点。
那么为什么有时将 NOT 传递给帐户子域呢?如果我在chrome中重播失败的请求,cookie将第二次传递到帐户子域。这会影响所有主流浏览器。
的问候, 肯
答案 0 :(得分:0)
这听起来像是重定向逻辑中的竞争条件。发出AJAX请求时的一个常见错误是在发送请求之后但在接收到指示已收到响应的回调之前执行其他一些代码。根据其他代码的时间安排,它可能会受到第一个响应"赢得比赛的影响。或不。