Mobile safariで意図しないCSRFトークンエラーがでる


再現環境

Rails5
Mobile safari

再現動作

  1. ログイン中にホームボタンを押してホームに戻って一度safariのアプリを落とす。
  2. safariを再度起動して、CSRFトークンの検証をする何かしらのフォームからデータ送信。

対応策

application.rb
config.action_dispatch.default_headers.merge!('Cache-Control' => 'no-store, no-cache')

ブラウザのキャッシュを拒否するように設定する。
もう少し良い対応策があればいいんですが。。。

参考