TL;DR
Next.js アプリケーション向けに開発された OSS の認証ライブラリ。GitHub、X(旧 Twitter)、Google など、多くの OAuth プロバイダに対応している。現在は Auth.js になっている。
なぜ必要か
認証まわりの処理を自前で実装せずに、OAuth によるログインやメールアドレス認証を Next.js に組み込める。
仕組み
組み込みのプロバイダが多数用意されており、それ以外のプロバイダもカスタムプロバイダとして定義すれば使える。パスワードを使わないメールアドレス認証にも対応している。
データベースがあってもなくても使える。データベースを使わない場合は、たとえば OAuth と JWT を組み合わせてセッションを管理する。
例
- T3 Stack の構成要素の 1 つである
- 導入例: NextAuth.js (v4) を Next.js (v14) に導入する
注意点
現在は Auth.js に名前が変わり、Next.js だけでなく SvelteKit や Qwik City にも対応している。
関連
- Auth.js
- T3 Stack
- React.cache: セッションの取得をメモ化するのに使える