この記事はアピリッツの技術ブログ「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]