Railsでdeviseというお決まり認証gemを使う際に、アクセスするたびにuserにログインさせるのではなく、一度ログインしたら次回以降ログイン不要になるように実装しました。
まずはコード
下の3行を足せば実現できました。めっちゃ簡単!!
# deviseを適用させているモデル
class User < ActiveRecord::Base
devise :database_authenticatable,
:trackable, :encryptable, :confirmable, :recoverable,
:registerable, :validatable, :lockable, :rememberable # 有効にするdeviseモジュール達
# @return [Boolean] cookieを使いログイン情報を保持するかどうか -> ここではtrue
# この3行を付け足せばokです
def remember_me
true
end
end
同じことを実現している記事が見つからなくて、公式ドキュメントなど読んでいたんですが、個人ブログで書いている方がいてそちらを転載させていただきました。感謝です。。(元ソース)
まあデフォルトでremember meのチェックボックスがあるんだからこれでできますよねそりゃ。
その他
他にcookieに対するtimeout設定などはドキュメント等に記載されているのでそちらをご参考に。(公式doc)
そもそもdeviseの初期設定などは他にも記事があるのでそちらを参考にして見てください!
では!