修复不工作:与 cross-site 资源关联的 cookie 设置时没有 `SameSite` 属性

Fix Not Working: A cookie associated with a cross-site resource was set without the `SameSite` attribute

我为我的公司维护一个旧 ASP 网站。

我们有两个不同的域,A 和 B。域 B 出现在 iFrame 中,我们一直收到 SameSite 警告。

解决方案似乎涉及将 "SameSite=None; Secure" 添加到 header。

我添加了这些值,它们显示在 Chrome 开发工具中:

尽管有变化:

有人知道我这里可能做错了什么吗?

您所显示的是两个 cookie,一个具有 session id,另一个名称为 SameSite。这些都没有任何 SameSite 属性(因此 SameSite 列下的空白 space)。

您不应该为 SameSite=None 设置单独的 cookie。 SameSite 是一个 cookie 属性,意味着附加到它所指的 cookie。

你的使用方式是这样的: Set-Cookie: sessionid=12345; SameSite=None; Secure。请注意,这是单个 Set-Cookie header。如果您使用两个单独的 Set-Cookie 行,浏览器会将其解释为两个单独的 cookie,这不是您想要的。