我试图在Rails 5.0.7.2应用程序的会话cookie中设置SameSite属性,但是在确定在何处以及如何进行设置时遇到了问题。
似乎在Rails 6.1中引入了一种确定全局SameSite保护级别的方法,请参见:https://github.com/rails/rails/commit/cd1aeda0a9dc15f09d7bf1b8b59e2ce07946f031。也就是说,如何将其设置为先前版本?
对待SameSite的方式将更改即将到来的Chrome版本80,我正为此做准备,尤其是与以下内容有关:
“用于跨站点使用的Cookie必须指定SameSite = None;要确保包含在第三方上下文中,请确保安全。”
有关更多信息,请参见https://web.dev/samesite-cookie-recipes/。
答案 0 :(得分:2)
我能够使用secure_headers gem和rails 4.2.11.1进行此操作,将配置放入初始化程序中
SecureHeaders::Configuration.default do |config|
config.cookies = {
samesite: {
none: true
}
}
end
https://github.com/twitter/secure_headers/blob/master/docs/cookies.md