📝
NextAuth.js と next-firebase-authの違い
はじめに
NextAuth.js と next-firebase-authで違いがあるようなのでまとめます。
NextAuth.js
next-firebase-auth
NextAuth.js:
- Firebase の認証を使用しません。Google OAuth (または別の ID プロバイダー) を使用し、 Firestoreアダプターを提供してセッション情報を保存します。つまり、ユーザーは Firebase 認証コンソールに表示されません。
- 間違いなくより柔軟です。多くの認証プロバイダーとデータベース アダプターがあります。
- 開発者は、電子メール サインイン用のセッション データベースを設定する必要があります
- サーバー側のレンダリングでユーザーの Firebase ID トークンへのアクセスを直接提供しません。セッション データベースを使用する場合にのみ、同じユーザーに対して複数の ID プロバイダーをサポートします。リンクされたアカウントは NextAuth.js によって管理されます。
- next-firebase-authタブの同期など、サポートされていない機能が含まれています
- セットアップと管理が少し複雑/技術的である (主観的な評価)
next-firebase-auth:
- Firebase 認証を使用するため、関連する Firebase 認証ツール (FirebaseUI など) をサポートします。
- Firebase の認証機能に限定されており、カスタムのサーバー側セッション ストレージを提供していません
- 開発者がセッション データベースを設定する必要はありません
- サーバー側のレンダリングでユーザーの Firebase ID トークンへのアクセスを提供します
- 同じユーザーに対して複数の ID プロバイダーをサポートします。リンクされたアカウントは、Firebase の認証ロジックによって管理されます。
- セットアップと管理が少し簡単です (主観的な評価)
両方:
- サーバー側のレンダリングをサポート
- 認証保護されたルートをサポート
- デフォルトで、署名付きの安全なサーバーのみの Cookie を使用する
どちらを使用するか
これは、アプリのニーズと好みによって異なります。
一般化された認証ソリューションを探している場合、NextAuth.js は優れた選択肢です。これにより、プラットフォームの独立性と柔軟性が向上します。執筆時点では、このプロジェクトは十分にサポートされているようで、開発者のコミュニティも良好です。Firebase プラットフォームをあまり利用する予定のない場合は良いでしょう。
next-firebase-authは、ハンズオフな認証バックエンドが必要な場合、またはスタック内の別の場所で Firebase プラットフォームに依存する場合に最適です。特に、メールサインインをサポートする必要がある場合は、簡単に開始できます。もちろん、Firebase プラットフォームにより依存しています。私はすぐに立ち上げたいプロジェクトにそれを選び、Firebase プラットフォームの機能を使用しました。
参考
Discussion