Skip to content
Tutti gli articoli

Da NextAuth.js ad Auth.js v5: la migration spiegata

, , 2 min di lettura

Auth.js v5 è uscito stable. Cosa cambia, come si migra, e perché lo abbiamo aspettato a lungo.

Auth.js v5 (l'evoluzione di NextAuth.js) è andato stable a inizio 2025 dopo una lunga beta. Per chi ha progetti NextAuth v4, la migration è il momento di mettersi alla pari con l'App Router.

Le tre novità più rilevanti

1. API unificata

Niente più separazione tra NextAuth() e auth() sparsi. Auth.js v5 espone un unico oggetto config che genera tutti gli helper:

// auth.ts
export const { handlers, auth, signIn, signOut } = NextAuth({
  providers: [...],
  callbacks: {...},
});

2. Edge runtime nativo

Auth.js v5 funziona finalmente su edge runtime. Per Vercel Edge e Cloudflare Workers questo è un cambio importante: niente più "node only".

3. App Router first-class

Il middleware Next.js, le Server Actions, i Route Handlers: tutti supportati nativamente senza workaround.

Migration in 5 step

  1. Aggiorna il pacchetto: npm i next-auth@beta (sì, ancora "next-auth" su npm).
  2. Sposta la config in un file auth.ts alla root.
  3. Aggiorna le chiamate getServerSession(authOptions) → auth().
  4. Aggiorna il middleware:
// middleware.ts
export { auth as middleware } from "@/auth";
  1. Verifica i provider OAuth: alcuni endpoint sono cambiati (es. Google ha alcune scope diverse).

Cosa controllare

  • Custom adapter: l'API è cambiata. Se hai un adapter Prisma custom, serve refactoring.
  • Callback session e jwt: tipi più stretti.
  • Provider OAuth con flussi custom (es. Apple Sign In): controllare la documentazione aggiornata.

Vale la pena?

Per progetti NextAuth v4 in produzione: sì, ma pianificata. Per progetti nuovi: Auth.js v5 di default. Considera anche le alternative emerse nel frattempo (Lucia, Better Auth, Clerk) — non sono male, ma per progetti che restano in casa Next.js, Auth.js resta la scelta standard.

Condividi

Hai un progetto in mente?

Raccontaci di cosa hai bisogno. Rispondiamo entro un giorno lavorativo.