Life最近はSQLばっかり書いてるWebエンジニアの日記です。この広告は、90日以上更新していないブログに表示しています。Railsに限らず、Webアプリ作ろうと思ったら、ユーザー登録・認証を作らなくてはならない。そんなの必要ないアプリ作るのもアリだけど。Railsで実装したら、かなり迷った。deviseを使えばいけるんだけども、世の中にはFacebook認証と、独自認証どちらでも登録できるようにしたいとか、Facebook認証とtwitter認証で認証してきたユーザーがいたらどうするんだ?とかいろいろ考えてる人がいるらしく、これぞ認証の決定版!みたいなのがまだないみたい。いうかアプリの要件によって変わるから仕方ないのかな。迷った経緯を書いておきます。Facebook認証とかにしたら楽にできるんじゃね?期Facebook認証とかよく見るし、絶対だれかgem作ってるよな〜と思って調べてみた。僕の検索の仕方が悪かったのと、中途半端に英語が読めるので以下記事を参考に実装してみた。omniauthというgemを使えばいけるのか〜ぐらいで、チュートリアルやるみたいに写経してみた。写経終わってみてviewはどう書くの?結局deviseって何してるの?とか疑問が湧きまくってしまった。読むと、これはFacebook認証とtwitter認証で違うメールアドレスで認証してきたユーザーにどう対処するか?という主旨の実装方法らしく、結構複雑な感じらしい。レベル高いことに挫折し、googleをさまよう。EasyRambleでもこっちもFacebook認証と独自認証を併用させてるんですね。出来そうな気もしたけどもうFacebook認証よそうかなぁと思い始める。独自認証だけでいいや!期もうシンプルなユーザー登録でいいや!と開き直り、RailsCastの認証を実装してみた。RailsCastsこの辺はRailsチュートリアルでやっていたので、ああ、そうそうこんな感じだよね〜という気分だった。ログイン画面を実装し終えた時点で、いろんな機能が足りないことに気づく。ログインユーザーの取得とか、ログインしているか否かの判定、などなど。deviseってシンプルなユーザー登録のgemだったんだね。期Facebook認証とかにしたら楽にできるんじゃね?期ではomniauthに気を取られて気づかなかったが、deviseってシンプルなユーザー認証・登録の仕組みを提供してくれるgemだったんだね。これを入れておけばユーザー登録もできるし、ログインユーザーの取得もできるし、大体できるんだね。