16
16

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 5 years have passed since last update.

deviseのログインをcookieで維持する方法

Posted at

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の初期設定などは他にも記事があるのでそちらを参考にして見てください!
では!

16
16
1

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
16
16

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?