Better-AuthがAuth.js/NextAuth.jsの定石を覆す
Better-Authは2024年に登場したTypeScript製認証ライブラリで、Auth.js/NextAuth.jsの『フレームワーク依存・抽象化が重い・カスタマイズ難』という課題を解決します。フレームワーク非依存・型完全・自前DBスキーマ・プラグイン拡張性が特徴で、Next.js・Remix・Hono・Express等で使えます。SaaSスタートアップで採用が急増中です。
採用すべき5つのシグナル
- Auth.js/NextAuthの抽象化に詰まった経験がある
- DBスキーマを完全に自分で制御したい
- マルチテナント・組織管理(チーム/招待)が必要
- 2FA・WebAuthn・Magic Link等のモダン認証を統合したい
- フレームワーク非依存で再利用したい
Auth.js/Clerk/Better-Auth比較
Auth.js: OSS・Next.js統合最大・抽象化重い。
Clerk: SaaS・UI込み・楽だが料金高い・ベンダーロックイン。
Lucia Auth: 軽量・低レベル・自由度高い。サポートは限定的。
Better-Auth: 中間・型完全・プラグイン拡張・OSSで自前運用。バランス良。
実装の基本パターン
(1) サーバ設定: const auth = betterAuth({ database, emailAndPassword: true })
(2) クライアント: const { signIn, signOut, useSession } = createAuthClient()
(3) ミドルウェア: Next.js middlewareで認証ガード
(4) プラグイン: 2FA・Magic Link・OAuth各種をプラグイン追加
(5) 組織管理: マルチテナント設計を標準サポート
本番採用の判断基準
(1) 本番実績: スタートアップ採用中、エンタープライズはClerkに譲る
(2) 料金: OSSで無料、自前DB管理が必要
(3) サポート: Discord・GitHub Issuesがメイン、エンタープライズSLAはなし
(4) 移行コスト: Auth.jsからの移行はDBスキーマ再構築が必要
30日学習プラン
- 1週目: Next.js + Better-Authでメール・パスワード認証構築
- 2週目: Google/GitHub OAuth + Magic Link追加
- 3週目: 2FA・WebAuthn・組織管理プラグイン
- 4週目: 本番デプロイ・セキュリティレビュー
関連リンク
認証全般は 認証ライブラリ選び方、OAuth/OIDC基礎は OAuth/OIDC実践、Next.js連携は Next.js深掘り を参照してください。