dave0688
(Dave0688)
1
你好,
对 sameSite ‘None’ 的支持(由我添加)已在几周前加入。现在您可以将 cookie 设置选为“None”。但是,当您更改并保存后,将无法再登录。session/csrf 请求返回 500 错误。
我追踪了这个错误,日志显示:
在异常应用中间件中处理异常失败:无效的 SameSite 值:"None"
位于
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rack-2.0.8/lib/rack/utils.rb:260:in 'add_cookie_to_header'
我发现我们当前的 Rack 版本(2.0.8)不支持将 sameSite 设置为“None”。不过,最新版本的 Rack 已支持该设置。
项目中的 Gemfile 有一些注释提示,升级 Rack 可能会破坏某些功能:
因此,我希望能由一位比我更熟悉该项目的人来执行升级。
我认为这是一个严重问题,因为如果将 cookie 设置更改为“None”,任何人都无法登录,唯一的修复方法是通过数据库操作。
请问有人能修复此问题或提供帮助吗?我在 Ruby 方面并不是特别专业。
1 个赞
david
(David Taylor)
2
你好 @dave0688,感谢提出这个问题。我刚刚移除了 samesite=none 选项,以避免引发服务器错误。
我们已将 Rack 升级列入计划,但这将相当复杂。我目前无法提供确切的时间表。
一旦完成升级,我们将很乐意重新添加 SameSite=none 站点设置。
6 个赞
david
(David Taylor)
3
@dave0688 供参考,我们现在已升级了 rack,因此重新应用了你的提交
4 个赞