2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

ActionDispatch::Cookies::CookieOverflow (ActionDispatch::Cookies::CookieOverflow)の解決方

Posted at

起こったこと

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にてメソッドを発火させる。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?