Ars*_*eed 5 rack ruby-on-rails http-headers ruby-on-rails-6
我正在尝试在Rails 6.0.3应用程序中向会话 cookie添加前缀,但找不到完成此操作的方法。我尝试将密钥添加到会话存储中的选项哈希中,但它没有帮助并且破坏了我的应用程序。我正在使用 auth-logic gem 进行身份验证,我找不到优雅地完成它的方法,但希望有某种方法。
conf/initializers/session_store.rb
opts = {}
if Rails.configuration.host == "myapplication.com"
opts = {expire_after: 2.months, domain: :all}
end
unless Rails.env.test?
opts[:secure] = true
opts[:same_site] = :none
end
opts[:key] = '__Host-'
Rails.application.config.session_store :active_record_store, **opts
Run Code Online (Sandbox Code Playgroud)
附上github cookies的截图。我希望我的会话标头如图所示(前缀为 __Host-)。
根据您的链接...
带有 __Host- 前缀的 Cookie 必须具有 / 路径(表示主机上的任何路径)并且不得具有 Domain 属性。
所以我认为您需要删除该domain属性并添加path. 例如
opts = {}
if Rails.configuration.host == "myapplication.com"
opts = {expire_after: 2.months}
end
unless Rails.env.test?
opts[:secure] = true
opts[:same_site] = :none
opts[:path] = '/'
end
opts[:key] = '__Host-'
Rails.application.config.session_store :active_record_store, **opts
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1731 次 |
| 最近记录: |