Open4
@supabase/ssr を使うか Auth.js を使うか

前提
- 現在 Supabase をデータベースとして使用
- Next.js で web アプリを開発
今の問題
-
@supabase/auth-helpers-{react|nextjs}
を使用していたが@suapbase/ssr
への移行を推奨されている- でもまだ
@supabase/ssr
はベータらしい - 過去に破壊的な変更起こったしベータ版なので使うの怖い、またコロコロ仕様変わりそう
- でもまだ
- Auth.js (旧NextAuth) の使用を検討

@supabase/ssr を使用する場合
メリット
- Supabase 標準であるから連携がシームレス
- RLS との連携(Auth.js でもできそう)
デメリット
- 先述の破壊的変更の可能性と、ベータ版であること
- GitHub Issues とか開発状況、スター数とか見る限りあんま活発に使われてなさそう。。。。
- ベンダーロックイン(?)
- Neon などに移行したいってなった時に認証関係のコードを書き換える必要がある
- Auth.js なら簡単に移行できそう

Auth.js を利用する場合

Supabase Auth と Auth.js での認証フローの違い
Supabase Auth は専用のAPIサーバー を用いて認証を行う。JWT 認証。Supabase のDBの auth
スキーマに認証関連のデータを保存。
Auth.js は DB(今回は Supabase) の next_auth
スキーマに認証データを保存する。