附加到“Set-Cookie”属性的错误⚠️

问题描述

我正在处理几个已部署应用程序的标头,我将“Set-Cookie”属性附加到从我的服务器到我的客户端(2 个独立的托管域)的响应。我看到 Set-Cookie 在网络响应中返回。它在本地工作正常,但是,我收到一个错误附加到“Set-Cookie”属性 ⚠️ 说。

Set-Cookie 未指定“SameSite”属性认为“SameSite=Lax”并被阻止,因为它来自跨站点响应,而不是对顶级导航的响应。 Set-Cookie 必须设置为“SameSite=None”以启用跨站点使用

我尝试了几种不同的语法来实现这一点,但到目前为止都失败了... https://github.com/VolksRat71/NOT_SUPREME/blob/master/backend/src/resolvers/Mutation.js#L111-L115

到目前为止我已经尝试过...

sameSite: "None"
>> option sameSite is invalid

SameSite: "None"
>> defaulted to "SameSite=Lax"

"SameSite" : "None"
>> defaulted to "SameSite=Lax"

"Same-Site" : "None"
>> defaulted to "SameSite=Lax"

"SameSite" : "none"
>> defaulted to "SameSite=Lax"

Picture of Header in Frontend Deployed App

解决方法

您的 package-lock.json 文件中的 Express 版本是 Express v4.16.3。 Express v4.17.0 中添加了 sameSite 选项的“none”值。

您可以删除您的 package-lock.json 文件,然后使用 npm i 重新运行 npm 安装 - 这将生成一个最新的 npm 锁定文件,并且它应该具有最新版本的 Express。

然后您可以测试并查看 sameSite 选项是否有效。该选项拼写为 sameSite(驼峰式),值为 'none'(小写)。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...