我试图嵌入我的角度应用程序到另一个网站通过iframe。在我的角度应用程序中,我正在设置cookie,所以当我尝试将角应用程序嵌入到我的另一个站点时,Devtools显示了一个问题,它告诉我,samesite=none没有被设置,因此正在使用默认的samesite=lax,这就阻止了角度应用程序设置cookies。
之后,我尝试在响应头中设置条目" set -cookie: samesite=none;secure",但没有成功。正如您在下面的屏幕截图中所看到的,浏览器仍然使用“同一个站点=lax”。
这个问题发生在Chrome和Edge(Chromium)上,而在Firefox中则不然。
问题:
截图

发布于 2021-11-27 15:34:04
问题
您误解了Set-Cookie的语法,并且错误地忽略了cookie的名称和值。
cookie定义以名称-值对开始。
因此,当浏览器收到具有以下标题的响应时,
set-cookie: samesite=none; secure它创建(或更新)一个Secure cookie,其名称为samesite,其值为none。因为没有指定SameSite属性,也因为属性,因此浏览器实际上将产生的cookie标记为SameSite=Lax。
解决方案
要解决这个问题,您必须为cookie选择一个名称和一个值,并且必须在任何其他cookie属性之前指定cookie的名称和值:
Set-Cookie: <cookie-name>=<cookie-value>; SameSite=None; Securehttps://stackoverflow.com/questions/70122380
复制相似问题