rails3でユーザー認証〜Devise〜
webサービスを作るときにけっこうな確率で必要かつ汎用的な処理の1つとして「ユーザー認証」がある。
ここに業務要件が入る余地は多くないので、オープン&フリーで良いものがあれば利用したいなぁ、と思いいろいろ探してみた。
で、railsだとDeviseというライブラリ(本家ではソリューションという言葉が使われている)が有名っぽいので、目をつけてみた。
インストールとか使い方は、Rails3アプリにDeviseで簡単に認証システムを組み込むとかが参考になりそう。
と、その前に、ユーザー認証が汎用的な処理といっても、このライブラリがセキュリティ要件など、利用にあたっての必須要件を必ずしも満たしているかどうかは気になるところ。
というわけで、このエントリではDeviseのREADMEを和訳してみる。
とここまで書いて、もしやと思って探してみたらすでに和訳してる人がいたw
Railsの第4世代認証エンジンDeviseのREADMEを翻訳してみた
一年ちょい前のエントリだけど、今ざっと読み比べてみてもちょっと違う部分があるだけでほとんどかわらない。
追加されてた部分。
Encryptable: adds support of other authentication mechanisms besides the built-in Bcrypt (the default).
デフォルトのビルトインBcrypt以外の認証に対応
大事な部分だと思ったところ
Starting with Rails?
If you are building your first Rails application, we recommend you to not use Devise. Devise requires a good understanding of the Rails Framework. In such cases, we advise you to start a simple authentication system from scratch, today we have two resources:
Michael Hartl’s online book: railstutorial.org/chapters/modeling-and-viewing-users-two#top
Ryan Bates’ Railscast: railscasts.com/episodes/250-authentication-from-scratch
Once you have solidified your understanding of Rails and authentication mechanisms, we assure you Devise will be very pleasant to work with. :)
もし、あなたが今初めてRailsのアプリを作ろうとしているんだったら、Deviseを使うべきではありません。
Deviseを使うにはRailsをちゃんと理解している必要があります。
そんな場合には、まず簡単な認証システムをスクラッチで書いて見ることをオススメします。以下のリンクを参考にしてみてください。
Michael Hartl’s online book: railstutorial.org/chapters/modeling-and-viewing-users-two#top
Ryan Bates’ Railscast: railscasts.com/episodes/250-authentication-from-scratch
Railsと認証の仕組みについて、しっかり理解できたと自信が持てるようになったのであれば、Deviseはまちがなくあなたの役に立つでしょう。
同意。認証部分なんてセキュリティに直結するところだからね。やみくもにやって「動いた!」じゃあ済まなくなるかもしれないからね。
っていうことで、なんかよくわからないエントリになったけど、まあいいか。