SameSite=Lax 远程工作但不在本地工作
SameSite=Lax works remotely but not in local
在使用 SameSite=Lax
.
的 iframe 中设置 cookie 时,我看到一些我无法解释的行为
我有两台网络服务器,一台在 your.example.com
上,另一台在 my.example.com
上。
your.example.com
在 iframe 中加载 my.example.com
,其中 my.example.com
设置 cookie。这在实际的远程 Web 服务器上运行良好,并且 cookie 的设置没有任何问题。
在我的本地环境中,我在 localhost
中加载一个,然后在 iframe 中加载 my.localhost
。当 my.localhost
returns cookie 时,我在 Chrome 网络选项卡中看到以下错误:
The set-cookie had the "SameSite=Lax" attribute but came from a cross-origin response.
如果我在其自己的选项卡上加载 my.localhost
地址,cookie 会正确设置,但是当我返回时 localhost
除了之前的错误消息外,我还看到以下错误:
This cookie had the "SameSite=Lax" attribute and the request was made on a different site. This does not include navigation requests initiated by other sites.
我正在使用 Chrome 版本 80.0.3987.162(官方构建)(64 位)。有人可以解释一下这种行为以及如何在本地实现吗?
我认为如果将所有内容都降低一个级别,您将获得想要的行为。我的意思是,将 dev.localhost
或类似的子域视为您的顶级域。从 dev.localhost
域设置 cookie,您应该会看到 my.dev.locahost
和 your.dev.localhost
被视为同一站点。换句话说,您的 SameSite=Lax
cookie 应该被允许。
警告: 我需要返回并再次仔细检查,但我有理由相信,当我测试类似的设置时,它是有效的!所以,请自己尝试并验证。
在使用 SameSite=Lax
.
我有两台网络服务器,一台在 your.example.com
上,另一台在 my.example.com
上。
your.example.com
在 iframe 中加载 my.example.com
,其中 my.example.com
设置 cookie。这在实际的远程 Web 服务器上运行良好,并且 cookie 的设置没有任何问题。
在我的本地环境中,我在 localhost
中加载一个,然后在 iframe 中加载 my.localhost
。当 my.localhost
returns cookie 时,我在 Chrome 网络选项卡中看到以下错误:
The set-cookie had the "SameSite=Lax" attribute but came from a cross-origin response.
如果我在其自己的选项卡上加载 my.localhost
地址,cookie 会正确设置,但是当我返回时 localhost
除了之前的错误消息外,我还看到以下错误:
This cookie had the "SameSite=Lax" attribute and the request was made on a different site. This does not include navigation requests initiated by other sites.
我正在使用 Chrome 版本 80.0.3987.162(官方构建)(64 位)。有人可以解释一下这种行为以及如何在本地实现吗?
我认为如果将所有内容都降低一个级别,您将获得想要的行为。我的意思是,将 dev.localhost
或类似的子域视为您的顶级域。从 dev.localhost
域设置 cookie,您应该会看到 my.dev.locahost
和 your.dev.localhost
被视为同一站点。换句话说,您的 SameSite=Lax
cookie 应该被允许。
警告: 我需要返回并再次仔细检查,但我有理由相信,当我测试类似的设置时,它是有效的!所以,请自己尝试并验证。