【问题标题】:Third Party Cookies - Cross Domain APIs w/ Session Tracking第三方 Cookie - 带会话跟踪的跨域 API
【发布时间】:2018-04-01 01:58:33
【问题描述】:

鉴于 CORS API 需要会话 cookie 来跟踪用户在结帐过程中的移动,因此在多个浏览器中存在问题,即在用户访问托管 API 的站点之后才设置 cookie。

例如:

johnny.com 使用来自 jacob.com 的 CORS JSON API。 jacob.com 设置了一个 第一次 AJAX 调用后的 cookie,但某些浏览器不会 为后续调用设置 cookie。因此 API 不会 按预期运行。

浏览器行为:

非常感谢任何有关如何解决这些问题的见解。

【问题讨论】:

  • 我现在面临着完全相同的情况。您找到适合您需求的解决方案了吗?
  • 我见过的最佳解决方案是创建大量 iframe 来加载和管理来自其他域的数据。这需要额外的标头修改,以便网站允许来自其他域的 iframe。
  • 感谢您的指点。即使框架加载了另一个域,cookie 是否在 iframe 中工作?
  • 是的。我个人从来没有遇到过 iframe 中的 cookie 问题。只要 iframe 加载,cookie 就会工作。

标签: api session cookies cross-domain


【解决方案1】:

不幸的是,似乎没有选项可以在所有浏览器中使用。

Safari now restricts 第三方使用 cookie。 似乎最好的办法是评估替代方案:

  • 设置代理服务器,将调用重定向到不同的服务(例如,当您点击 johnny.com/jacob/abc 时,充当代理来检索 jacob.com/abc)
  • 在 API 上使用 oauth 登录(可能不切实际)
  • 将 API 移至 johnny.com/api/...

Paypal 还创建了几个基于 js 的解决方案来尝试解决此类问题:https://medium.com/@bluepnume/introducing-paypals-open-source-cross-domain-javascript-suite-95f991b2731d

【讨论】:

    猜你喜欢
    • 2011-08-23
    • 2012-01-19
    • 2011-01-26
    • 1970-01-01
    • 2012-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-30
    相关资源
    最近更新 更多