cookies - 跨域 cookie 延迟
问题描述
我注意到浏览器存储或将跨域 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 失败,CORS 也始终在标头中正确设置。当我检查它并且域正确设置为 .mysite.com 时,Cookie 看起来不错,并且我已经尝试了没有前导点的事件。
那么为什么有时它不会传递给帐户子域。如果我在 chrome 中重播失败的请求,cookie 将第二次传递到帐户子域。这会影响所有主要浏览器。
问候,肯
解决方案
这听起来像是重定向逻辑中的竞争条件。发出 AJAX 请求时的一个常见错误是在发送请求之后,但在接收到指示已收到响应的回调之前执行一些其他代码。根据其他代码的时间,它可能会受到第一个响应是否“赢得比赛”的影响。
推荐阅读
- docker - 在另一个 Dockerized 容器中运行 docker-compose
- sql - PostgreSQL 平均时间戳差异(按组)
- c# - 如何将两个元素绑定到 WPF 中的同一属性 - C#
- c - C 中的数组包含不正确的值
- javascript - 购物车总价和数量
- xpath - 根据类和属性值选择元素
- angular - 根据复选框更改垫子自动完成值
- python - 如何在while循环后计算平均值
- javascript - 如何在我的 React 组件中组合 onBlur 和 onFocus 而不重新选择我输入的每个字母上的文本?
- swashbuckle - 如何使用 Swashbuckle.AspNetCore 为 ReDoc 添加 x-code-samples?