症状
- Sidekiqダッシュボードでジョブの再試行・削除などPOST操作を行うと403 Forbiddenと出てしまい操作できない
原因
APIモードではセッション関連のミドルウェアがデフォルトで含まれない。
Sidekiq::WebのCSRF保護はセッションにトークンを保存するが、ActionDispatch::Cookiesがないためセッションが機能せずCSRF検証に失敗する。
対策
config/application.rb に ActionDispatch::Cookies ミドルウェアを追加する。
# config/application.rb
config.middleware.use ActionDispatch::Cookies
config.middleware.use ActionDispatch::Session::CookieStore, key: '_app_session'