Prompt zum Hinzufügen von Better Auth zu Next.js mit PostgreSQL
Ein Copy-Paste-Prompt zum Hinzufügen von Better Auth und PostgreSQL-Sitzungsverwaltung zu einem Next.js App Router-Projekt.
CursorClaude CodeCodex Next.jsPostgreSQLTypeScript
Gib dies deinem Agenten, um E-Mail- und Sitzungsauthentifizierung in einem Next.js App Router-Projekt einzurichten, ohne dass er Routen erfindet oder zu einer veralteten Bibliothek greift.
Haupt-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.Implementierungshinweise
- Better Auth bringt sein eigenes Schema mit; lassen Sie es die Tabellen generieren, anstatt Migrationen selbst zu schreiben.
- Halten Sie alle Geheimnisse in
.envund validieren Sie sie beim Start. - Sitzungen sollten datenbankgestützt sein, nicht JWT, für einfache Widerrufbarkeit.
Erwartete Dateiänderungen
src/lib/auth.ts (new)app/api/auth/[...all]/route.ts (new)src/lib/get-session.ts (new).env.example (edited)package.json (edited)Akzeptanzkriterien
- Ein neuer Benutzer kann sich registrieren und eine Sitzungszeile wird in PostgreSQL geschrieben.
getSession()gibt den Benutzer in einer Server-Komponente zurück.- Abmelden löscht die Sitzung serverseitig.
Testbefehle
bun run typecheckbun run dev# then exercise /api/auth/sign-up and /api/auth/sign-inHäufige KI-Fehler
- Nach
next-authgreifen, obwohl der Prompt es verbietet. - Sitzungen als JWTs speichern und die Datenbanktabellen überspringen.
- Vergessen,
BETTER_AUTH_SECRET/DATABASE_URLzu validieren.
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.