Railsでユーザー認証を扱うより良い方法
Railsの認証といえば、ほとんどの開発者はDeviseを選びます。しかし、より多くのコントロールを得られる代替アプローチがあります:Authentication Zeroです。
Authentication Zeroは、アプリケーション内に直接認証コードを生成するジェネレーターです。認証をgemに抽象化するDeviseとは異なり、Authentication Zeroはあなたが所有しカスタマイズできるコードを提供します。
なぜAuthentication Zero?
- 完全なコントロール - コードはgemに隠されず、あなたのアプリ内にある
- 簡単にカスタマイズ - 認証フローのどの部分でも変更可能
- 魔法なし - すべての行を読んで理解できる
- モダンな機能 - パスワードレス、WebAuthnなどをサポート
はじめに
Gemfileに追加:
gem "authentication-zero"
そして生成:
rails generate authentication
rails db:migrate
これにより以下が作成されます:
- セキュアパスワード付きのUserモデル
- セッションコントローラー
- パスワードリセット機能
- メール確認
- カスタマイズ可能なビュー
結果
あなたが所有するコードで完全な認証システムが手に入ります。2FAを追加したい?ログインフローを変更したい?ソーシャルログインを追加したい?コードはすぐそこにあります。
詳細はAuthentication Zeroリポジトリをご覧ください。