P PasteCode
Prompt

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
.md .json Difficulté: Moyen Mis à jour 8 juin 2026

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

Main Prompt
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 .env et 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

Terminal window
bun run typecheck
bun run dev
# then exercise /api/auth/sign-up and /api/auth/sign-in

Erreurs courantes de l’IA

  • Utiliser next-auth mê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

Fix Prompt
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.
Étiquettes: AuthNext.jsPostgreSQL