Invite pour ajouter Better Auth à Next.js avec PostgreSQL
Une invite copier-coller pour ajouter Better Auth et la gestion de sessions PostgreSQL à un projet Next.js App Router.
CursorClaude CodeCodex Next.jsPostgreSQLTypeScript
Donnez ceci à votre agent pour configurer l’authentification par email + session dans un projet Next.js App Router sans qu’il invente des routes ou utilise une bibliothèque obsolète.
Invite principale
You are working in a Next.js App Router project that uses TypeScript and PostgreSQL.
Task: add authentication using Better Auth.
Requirements:- Use the `better-auth` package. Do NOT use next-auth/auth.js.- Configure email + password auth with database-backed sessions.- Use the existing PostgreSQL connection; create the auth tables via Better Auth's schema.- Add a server-side `auth` instance in `src/lib/auth.ts`.- Mount the handler at `app/api/auth/[...all]/route.ts`.- Add a typed `getSession()` helper for Server Components.- Do not touch unrelated files. Show me the diff before applying.
Stop after the code changes and list exactly which files you created or edited.Notes d’implémentation
- Better Auth fournit son propre schéma ; laissez-le générer les tables plutôt que d’écrire des migrations à la main.
- Gardez tous les secrets dans
.envet validez-les au démarrage. - Les sessions doivent être basées sur la base de données, pas sur JWT, pour une révocation facile.
Modifications de fichiers attendues
src/lib/auth.ts (new)app/api/auth/[...all]/route.ts (new)src/lib/get-session.ts (new).env.example (edited)package.json (edited)Critères d’acceptation
- Un nouvel utilisateur peut s’inscrire et une ligne de session est écrite dans PostgreSQL.
getSession()renvoie l’utilisateur dans un Server Component.- La déconnexion efface la session côté serveur.
Commandes de test
bun run typecheckbun run dev# then exercise /api/auth/sign-up and /api/auth/sign-inErreurs courantes de l’IA
- Utiliser
next-authmême si l’invite l’interdit. - Stocker les sessions sous forme de JWT et ignorer les tables de base de données.
- Oublier de valider
BETTER_AUTH_SECRET/DATABASE_URL.
Invite de correction
You used a different auth library or JWT sessions. Redo it with `better-auth`and database-backed sessions only. Remove any next-auth code you added.