There's an echo in my head

日々のメモ。

認証処理を行うsorceryを試してみた

deviseの主にルーティング周りがなんだかよくわからないので、sorceryを試してみた。ソースはgithubにあげたけど参考になるかは微妙。

sorceryはだいたい

  • モデルで認証処理を行うメソッドを提供する
    • 登録時にsalt値の生成とそれによるパスワードの暗号化
    • User#authenticateに入力されたパスワードを渡してチェックするようなやつ
  • コントローラに必要そうなヘルパメソッドを提供する
    • current_userとか、前述のauthenticatebefore_actionで行うためのrequire_loginとか
    • ActionController::Baseincludeしてる

の2つを提供している。

なので、deviseでは登録や認証部分のフローを実装したコントローラも提供しているけど、sorceryでは「ヘルパとか提供するからそこは自分で作ってくれ」って感じ。手間はあるけど、どこでどうなるかを自分で設定できるぶん柔軟で使いやすそう。

参考

このブログに出てくるコードスニペッツは、引用あるいは断りがない限りMITライセンスです。