安全:无法在 Cookie 设置中设置 sameSite=None

Google 最近更改了其 Cookie 策略(https://blog.heroku.com/chrome-changes-samesite-cookie)。基本上,所有来自其他顶级域名的 Cookie 都必须包含属性 “secure: true”(这已是默认情况),以及 “sameSite=None”。

现在,您可以在 Discourse 的安全设置中更改 Cookie 策略:

“同站 Cookie”,选项包括:“Lax”、“Strict”、“Disabled”。

前两个选项将直接作为 Cookie 中 “SameSite” 参数的值进行传递。“Disabled”则完全不设置任何值。

问题在于,我们需要在 Cookie 中传递值 “None”。只有设置为 “None”,Cookie 才能被传输到其他(非同顶级域名)网站。

然而,在 Discourse 中并没有可供选择的 “None” 值——但我们迫切地需要它来使我们的 Discourse 论坛 API 正常工作。

在 same_site Cookie 中添加一个 “None” 值应该不难实现。
能否请某人帮忙查看一下?

提前感谢!
David

1 个赞

非常欢迎提交 PR 来添加这个额外设置,这应该只是一个非常微小的改动。

1 个赞

没问题。实现(基本上就是添加一个词)已经准备好了。我刚刚签署了您的贡献者协议。能否请您将我添加为贡献者?我的 GitHub 用户名也是 dave0688。之后我会创建一个拉取请求(PR),届时请您(或其他人)帮忙审查。

1 个赞

请问能回复一下吗?我已经准备好创建 PR 了,但在推送分支时遇到了 403 错误…

您需要先分叉(fork)该仓库,将您的分支推送到您的分叉仓库,然后从中发起拉取请求(PR)。只有 Discourse 团队才是 discourse/discourse 仓库的“贡献者”。

3 个赞

没问题,刚刚已经完成了:

3 个赞

已合并,感谢你的 PR @dave0688 :smiley:

3 个赞

本主题已在 7 小时后自动关闭,不再接受新回复。