起こったこと
RailsAPIとNuxt.jsで作成しているアプリでdevise_token_authを使用した認証機能を実装中に、ログインをすると
:Cookies::CookieOverflow(ActionDispatch::Cookies::CookieOverflow)
が発生して、ログイン中のユーザー情報が取得できなかった。
主な原因としては
session 変数に多くのデータを保持する場合や
flash など view 関連のhelper で Objectやtextなど多くの文字列
を渡している場合に出るよう。
(CookieStore: session 情報を全てsecret_key_baseで暗号化し、クライアント側のCookie に保持。)
上記を解決するのに結構ハマったので、備忘録的に記事を書きます。
(何か別の方法等あればコメントにて教えていただけると幸いです)
解決法
該当コントローラーに下記メソッドを追加
request.session_options[:skip] = true
before_actionにてメソッドを発火させる。