片岡空の上の空

一旦書き留めるためのページ

gem紹介「devise」

■gem名

devise

 

■公式サイト

https://github.com/plataformatec/devise

 

■内容

認証機能の実装

 

■メリット

認証に関連する多くのオプションがある。

多くの情報が揃っている、

(情報があるその分重たい(オーバースペック)という意見も多い。)

 

■こんな時使う

認証機能を実装する際、特に要件の多い認証機能を用いる際

例:

パスワードを変える時毎回メールの存在確認をしたい。

パスワードを連続で間違えた時の対応を行いたい。

etc

 

■install

gem 'devise'
rails generate devise:install
config/environments/development.rb:

config.action_mailer.default_url_options = { host: 'localhost', port: 3000 }

 

rails generate devise [MODEL]
rails db:migrate

他に沢山記事が出ていると思うのでそちらを御覧ください。

 

■コントリビューター

 

https://github.com/josevalim

https://github.com/carlosantoniodasilva

 

■更新頻度

https://github.com/plataformatec/devise/releases

 

■LICENSES

MIT License

 

■関係gem

omniouth系fbやtwitter、LINEアカウントとの連携を行うgemがある

 

■その他

その他の認証系のgem

monban 

https://github.com/jbhandari/monban

sorcery

 https://github.com/Sorcery/sorcery

 

■一言

当たり前ですがメールやエラーがdefo英語ですので、毎回日本語用に変えてます、PR出してjp版のを作ればいいのですが。。。

また、slimでやっている場合は毎回gemを入れてslimに変えて、gemを消して、といった処理をしている人は多いかもしれません、これもPRを出せばいい話かもしれませんが。

https://github.com/slim-template/html2slim

シンプルにな認証機能でも今後のカスタマイズを考え、deviseを入れるタイプの方もいれば、最初は自分で作ってしまい、要件が増えてからdeviseを入れるタイプの人もいますが、それは案件の成長具合などにもよるので、CTOやチームリーダーと話し合い決めればいいかと思います。