現在Railsとherokuでサービスを運用しているものです。
ruby(2.5.0) rails(5.2.1) devise(4.5.0)
ログインにDeviseを使っていて、時間によるタイムアウトを無くしたいと考えています。
そこでこのように書いているのですが、どういうわけか本番環境でのみ、ふとした拍子にログアウトさせられてしまうのです。(ブラウザで開いてから、30分くらい放置してからページをリロードをすると発生しやすい)
rb
1# userモデル 2devise :database_authenticatable, :registerable, :recoverable, :rememberable, :validatable, :confirmable, :trackable, :timeoutable 3 4# config/initializers/devise.rb 5config.timeout_in = 20.years 6 7# config/application.rb 8config.session_store :cache_store, key: "_myapp_#{Rails.env}", expire_after: 20.years 9 10# config/environments/production.rb 11config.cache_store = :redis_cache_store, { driver: :hiredis, url: ENV['REDIS_URL'] }
セッション情報はRedisにて管理しており、TTLもちゃんと20年後になっているようでした。
ログアウトされるのは、以前のセッション情報がRedisから消えたからかもとも考えたのですが、調べたら普通に残っていました。
もういっそのことtimeoutableを除けば解決するかも?と考えているのですが、アドバイスをいただけたら嬉しいです。
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。