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

  • Rails

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

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

そこに付与する認証機能として、

やはり独自でemailなどの情報を保持しておきたくないので、

Omniauthを利用して

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

Google先生に教えていただきながら進めていくと、

どうしても出てくるのが Devise という名前。

認証に関わるような「あるある処理」を一括実装できるようで、

いろいろ説明を読んでいると、たしかにすごい。

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

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

いろいろな機能が一気に突っ込まれることは理解できましたが、

私自身使いこなせる気がしていません。

たしかに各所に存在する情報を利用すると、

簡単に認証系が実装できましたが、

一部はなんとなく動作を把握できましたが、細かいところは個人的にブラックボックスです。

「使いこなせないお前が悪い」、と言われたらそれまでなのですが、

まずはRuby on Railsでの認証のなんたるかを把握してから

こういうものに手を出したほうがいいのでは?という気持ちになってきました。

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

普段の業務では Java/javascript を利用しており、

OSSのライブラリやフレームワークを利用することも多々あります。

ただし、トラブルが起きた際にはソースを読んで動きを追うことも多々あります。

javascript系のライブラリであれば、実際に手を加えて直すこともあります。

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

というわけで...

今のところ一人で進めている開発なので、

何か起きた時に自分で対応できるよう、認証系でDeviseは利用しないことにしました。

でも。。。

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

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

こういったものを有効活用して効率的に作成するのもRailsの魅力だと考えているので、

いずれ自作した認証部を置き換えてみたいと思います。

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

認証と言っても、やはりサービスモデルによって色々差異はあると思いますし、

すべてが共通だとは思えないです。

Deviseを入れてカスタマイズするのと、スクラッチで作るのを天秤にかけて

より効率的なほうを選んでいく感じなのかな?

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