Sinatra 将 SameSite cookies 设置为无

问题描述 投票:0回答:2

我有一个模块化的 sinatra 应用程序,其配置如下:

configure do
        disable :protection
        use Rack::Protection
        enable :sessions
        set :session_secret, ENV.fetch('SESSION_SECRET') { SecureRandom.hex(64) }
        set (:cookie_options) do {          
            :SameSite => "Lax",
            :expires => Time.now + 1.month, 
            :secure => true
        }
      end
end

:secure => true
工作正常,但 SameSite 不行。我不知道如何改变这个。

另外:我不知道如何将机架会话 cookie 设置为

secure: true

session cookies sinatra rack
2个回答
2
投票

很晚才回答,但我也遇到了同样的情况,看起来适合我的相关选项是

:same_site

set :cookie_options do
  {
    :same_site => :lax # or :strict
    ...
  }
end

0
投票

我遇到了类似的问题,发现上面的答案没有解决问题(没有错误,但同一站点没有修改,可能是因为经典应用程序(或较新的 Sinatra),无论如何,我最终发现了

configure do
  set :sessions, same_site: :strict
  :    
end

成功了,详情这里

© www.soinside.com 2019 - 2024. All rights reserved.