In a Rails controller, I can set a cookie like this:
cookies[:foo] = \"bar\"
And specify that the \"secure\" (https-only) flag be on like this:
There's no need to monkeypatch ActionController
/ActionDispatch
, and force_ssl
has side effects (e.g. when behind an ELB).
The most straightforward way to achieve secure cookies is to modify config/initializers/session_store.rb
:
MyApp::Application.config.session_store(
:cookie_store,
key: '_my_app_session',
secure: Rails.env.production?
)