How can I make cookies secure (https-only) by default in rails?

后端 未结 8 1882
不知归路
不知归路 2021-02-01 14:34

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:

8条回答
  •  挽巷
    挽巷 (楼主)
    2021-02-01 15:02

    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?
    )
    

提交回复
热议问题