【问题标题】:Cookie in AJAX response from other domain not honored - are there workarounds来自其他域的 AJAX 响应中的 Cookie 不被接受 - 是否有解决方法
【发布时间】:2016-09-02 14:29:35
【问题描述】:

我在域 api.example.com 上有一个服务器端 API

用户正在访问 www.website.com,其中一个脚本向 api.example.com 发出 XmlHttpRequest 并获得带有 cookie 的响应。

HTTP 代理似乎不接受 API 的响应 cookie。

我知道非跨域泄漏cookie 政策,但我认为这里的域是api.example.com。看来我猜错了。

我在api.example.com 上的 API 是否可以通过其他方式记住从一个站点到另一个站点的用户数据?如果没有,从这个角度来看,像 Criteo 和其他重定向网站这样的服务如何运作?

【问题讨论】:

  • 您是否在可能的预检响应和常规响应中将 1.:Access-Control-Allow-Credentials 标头设置为 true? 2.:Access-Control-Allow-Origin 标头到来自实际请求的来源的值? 3.:客户端是否将XMLHttpRequest .withCredentials设置为true
  • @MichalFoksa 谢谢,原来是解决方案
  • 你介意我把评论变成答案吗?

标签: ajax api cookies cross-domain


【解决方案1】:

确保您的 API 设置:

  1. Access-Control-Allow-Credentials 标头到 true 在可能的预检响应和常规响应中,
  2. Access-Control-Allow-Origin 标头值来自实际请求的来源,
  3. 客户端将XMLHttpRequest.withCredentials设置为true

【讨论】:

    猜你喜欢
    • 2020-12-20
    • 2014-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-22
    • 1970-01-01
    • 2012-11-18
    • 2018-04-10
    相关资源
    最近更新 更多