Session 应用程序在嵌入iframe时发送另一个会话cookie

Session 应用程序在嵌入iframe时发送另一个会话cookie,session,cookies,iframe,content-security-policy,Session,Cookies,Iframe,Content Security Policy,我目前正在开发一个嵌入式Shopify应用程序,它基本上是一个应用程序,加载在Shopify管理界面上的iframe中。它使用会话cookie存储Shopify API的访问令牌 问题是,我的应用程序的后端会收到不同的会话cookie,具体取决于应用程序是否加载到Shopify iframe中 Cookie和SameSite=none的域都相同 如果cookie是从iframe设置的,则浏览器似乎正在对同一域的cookie进行沙箱处理。是这样吗?可能有3个问题: 有时你可以有几个同名的不同coo

我目前正在开发一个嵌入式Shopify应用程序,它基本上是一个应用程序,加载在Shopify管理界面上的iframe中。它使用会话cookie存储Shopify API的访问令牌

问题是,我的应用程序的后端会收到不同的会话cookie,具体取决于应用程序是否加载到Shopify iframe中

Cookie和
SameSite=none的域都相同

如果cookie是从iframe设置的,则浏览器似乎正在对同一域的cookie进行沙箱处理。是这样吗?

可能有3个问题:

  • 有时你可以有几个同名的不同cookie。浏览器发送所有这些数据,但在服务器端通常使用关联数组(如PHP中的
    $\u COOKIE
    )。因此,最后一个cookie将覆盖具有相同名称的所有前一个cookie。 iframe可能会得到与主页不同的cookie。 使用Apache server,您可以通过
    Apache\u request\u headers()
    func访问所有同名cookie。RTFM用于解决其他服务器的问题

  • 检查ob cookie属性-您是使用
    SameSite=Lax
    /
    SameSite=Strict
    属性还是不使用此类属性。
    注意
    SameSite=None
    在现代浏览器中需要
    Secure
    属性,因此仅适用于
    https:

  • “同一域名”是一个错误的术语,浏览器使用“同一来源”术语:

    “origin”是主机名的元组 因此,所有3个部分都应该匹配,而不仅仅是域名