"Devise" は自分にはまだ早かった話

Railsチュートリアルから少し離れた話です。




Railsを利用して、1本学習系のサービスを開発中です。

そこに付与する認証機能として、
やはり独自でemailなどの情報を保持しておきたくないので、
Omniauthを利用して

を利用しようかと考えています。

Google先生に教えていただきながら進めていくと、
どうしても出てくるのが Devise という名前。

認証に関わるような「あるある処理」を一括実装できるようで、
いろいろ説明を読んでいると、たしかにすごい。

でも、触っていると(私が初心者だからもあると思いますが)疑問が湧いてきます。


なんでも出来過ぎじゃないのかな?という疑問

いろいろな機能が一気に突っ込まれることは理解できましたが、
私自身使いこなせる気がしていません。

たしかに各所に存在する情報を利用すると、
簡単に認証系が実装できましたが、
一部はなんとなく動作を把握できましたが、細かいところは個人的にブラックボックスです。

「使いこなせないお前が悪い」、と言われたらそれまでなのですが、
まずはRuby on Railsでの認証のなんたるかを把握してから
こういうものに手を出したほうがいいのでは?という気持ちになってきました。

果たして何か起きた時に対応できるのか?

普段の業務では Java/javascript を利用しており、
OSSのライブラリやフレームワークを利用することも多々あります。

ただし、トラブルが起きた際にはソースを読んで動きを追うことも多々あります。
javascript系のライブラリであれば、実際に手を加えて直すこともあります。

ただ、これをJava/javascript初心者だったころにやれと言われたら無理だった気がします。


というわけで...

今のところ一人で進めている開発なので、
何か起きた時に自分で対応できるよう、認証系でDeviseは利用しないことにしました。

でも。。。

正直、DeviseというGemはすばらしいと思いました。

あれだけのものを、瞬く間に作れてしまう。これはやはり驚異的です。

こういったものを有効活用して効率的に作成するのもRailsの魅力だと考えているので、
いずれ自作した認証部を置き換えてみたいと思います。




でも実際のところ業務とかでは使うのだろうか?

認証と言っても、やはりサービスモデルによって色々差異はあると思いますし、
すべてが共通だとは思えないです。

Deviseを入れてカスタマイズするのと、スクラッチで作るのを天秤にかけて
より効率的なほうを選んでいく感じなのかな?



うーん、やはりまだまだ未熟でございます。。