Next.js + Prisma + next-auth

next-auth は Auth.js として next 以外の FW でも使えるようにしていく計画らしい

react-query も抽象化していったしこういうライブラリ系はマルチFWが基本になってくのかな

ともかく、今のところは next-auth として使う

Prisma は久しぶりなので思い出しながら...

DB は postgresql をローカルに建てる

Prisma には https://authjs.dev/reference/adapter/prisma#create-the-prisma-schema-from-scratch にあるスキーマを流し込んでおく

prisma migrate dev でマイグレーション

next-auth がいろいろハンドリングしてくれるそうなので pages/api/auth/[...nextauth].ts てファイルをつくって、NextAuth のインスタンスを渡しておく

サインインは next-auth/react から signIn を import して、適当に onClick に渡してやるだけでよい

ここで少々ハマって、ProxmoxCT 上で開発してるので localhost ではないドメインで動かしていたのだが、なぜかリダイレクト先が localhost になってしまう

これは NEXT_AUTH_URL を環境変数として渡してやるとオーバーライドできるようだった

ユーザの情報を引く時は SessionProvider をツリーの高めにいれておいて useSession で引いてこれる

似てるかもしれんページ