その他
    ホーム 技術発信 DoRuby Deviseを使用したパスワードのみによる認証
    Deviseを使用したパスワードのみによる認証
     

    Deviseを使用したパスワードのみによる認証

    この記事はアピリッツの技術ブログ「DoRuby」から移行した記事です。情報が古い可能性がありますのでご注意ください。

    Railsに認証機能を実装するgem「Devise」を使用して、パスワードのみで認証させる方法。

    今回やりたかったのは、Rails で用いる認証機能 gem のDeviseを用いてパスワードのみで認証させるといったケースです。

    Deviseの導入に関しましてはネットに様々記載がありますので今回は割愛させてもらいます。

    認証ユーザー用のModelを作成

    • 認証ユーザー用のModel名は任意
    • 今回は、Userとする
      app/models/user.rb
      • confirmableを追加

    ソース記述例

    class User < ActiveRecord::Basedevice
      :database_authenticatable,  :rememberable,  :authentication_keys[];
      ### 以下省略 ###  
    end
    

    Deviceの認証が通常メールアドレスとパスワード認証がデフォルトですので
    authentication_keys[]の記述がメールアドレスを使わないという意味になるようです。

    上記の記載によりDeviceの認証時にパスワードのみで認証が可能となります。

    余談ですがDeviseでメールアドレス以外のカラムをログイン認証に利用する場合は
    例えばユーザー名(usernameカラム)で認証を行いたい場合は以下を追加すると良いようです。
    authentication_keys => [ :username]