Authenticatie in Next.js: opties vergeleken

Authenticatie in Next.js: Auth.js vs Better Auth vs Clerk | We.Inc

Vergelijk Auth.js, Better Auth, Clerk, Supabase Auth en een eigen sessie voor Next.js 16, met setupcode per optie en een keuzehulp die de lijst afstemt op uw eisen.

Authenticatie in Next.js: opties vergeleken

Kies voor de meeste Next.js-apps een library in plaats van zelf authenticatie te schrijven. Clerk is gehost en het snelst opgezet, Supabase Auth past bij apps die al op Supabase draaien, en Better Auth of Auth.js houden gebruikers in uw eigen database. Wat u ook kiest, controleer de sessie opnieuw in servercode, want controles in de proxy alleen beschermen geen data.

In één oogopslag

De officiële Next.js-gids noemt twaalf compatibele auth-libraries, meer keuze dan de meeste mensen willen. Deze vergelijking brengt het terug tot de vijf routes die de meeste teams echt afwegen, toont de minimale code voor elk in de App Router en legt uit welke controles u uw app nog steeds verschuldigd bent, welke library mensen ook inlogt.

Veelgestelde vragen

Wordt NextAuth nog onderhouden?

Auth.js, het project dat vroeger NextAuth heette, zegt op zijn eigen site dat het nu onderdeel is van Better Auth. Het installatiecommando voor Next.js is nog steeds npm install next-auth@beta. Nieuwe projecten beginnen vaak direct met Better Auth, terwijl bestaande Auth.js-apps gewoon blijven werken.

Kan ik pagina's alleen met proxy.ts beveiligen?

Nee. De Next.js-documentatie noemt controles in de proxy optimistisch: goed voor snelle omleidingen op basis van een cookie, maar geen beveiligingsgrens. Controleer de sessie opnieuw dicht bij de data, want Server Functions en routes buiten de matcher komen nooit langs de proxy.

Welke optie is het goedkoopst?

Libraries die gebruikers in uw eigen database bewaren, zoals Better Auth of Auth.js, rekenen geen kosten per gebruiker; u betaalt voor uw database en het versturen van e-mail. Supabase Auth bevat per oktober 2026 50,000 maandelijks actieve gebruikers in het gratis abonnement. Kijk op de prijspagina van Clerk voor de huidige gratis limiet.

Werken deze met Next.js 16?

Ja. Clerk en Supabase documenteren allebei proxy.ts voor Next.js 16 en middleware.ts voor oudere versies, en Better Auth biedt een cookiehelper voor de proxy plus een volledige sessiecontrole voor servercode.

Stateless sessies of sessies in de database?

Een ondertekende cookie (stateless) is eenvoudiger en vraagt geen opzoeking, maar u kunt hem niet intrekken voordat hij verloopt. Een databasesessie kost een query per controle en laat gebruikers op elk apparaat uitloggen. Bij veel libraries kunt u kiezen.

Gehost versus zelf gehost

Als u Supabase al gebruikt

Zelf schrijven

Minimale setup per optie

Clerk

Installeer @clerk/nextjs en stel NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY en CLERK_SECRET_KEY in. In Next.js 16 heet het middlewarebestand proxy.ts.

Supabase Auth

Een serverclient die per verzoek wordt opgebouwd uit de cookieopslag, met de publishable key. getClaims() verifieert het token voordat u het vertrouwt.

Better Auth

Koppel de handler aan een catch-all route en lees de sessie daarna op de server met de request headers.

Auth.js (next-auth v5 beta)

auth.ts exporteert handlers, auth, signIn en signOut. Stel AUTH_SECRET in (npx auth secret maakt er een).

Uw eigen ondertekende sessiecookie

Een korte versie van het patroon uit de Next.js-gids: jose ondertekent de payload en de cookie is HttpOnly, Secure en SameSite=Lax.

Waar u de sessie controleert

Auth-controles per plek (uit de Next.js-gids over authenticatie)

Clerk

Het snelst naar een werkende inlogpagina; gebruikers staan bij Clerk.

Supabase Auth

Gebruikers staan in uw Supabase Postgres; betaalde abonnementen rekenen extra gebruikers boven de inbegrepen hoeveelheid.

Better Auth

Library in uw app, schrijft naar uw database, plugins voor extra's.

Al lang bestaande optie, nu onderdeel van Better Auth; v5 wordt nog als beta gepubliceerd.

Zelf bouwen

Volledige controle; u schrijft elke flow en houdt hem veilig.

Gebruikersgegevens blijven in een database die ik beheer

Kant-en-klare inlog- en profielschermen

Geen kosten per gebruiker bij de auth-aanbieder

Inloggen gekoppeld aan row level security in Postgres

Keuzehulp voor authenticatie

Vink de eisen aan die ertoe doen; de lijst houdt alleen de opties over die aan alle eisen voldoen.

Eisen

Geen enkele optie voldoet aan elke aangevinkte eis. Vink er een uit om te vergelijken.

Gratis beginnen · Geen creditcard nodig

Gerelateerd: Gidsen

Product

Voor wie

Functies

Bronnen

Bedrijf

Sitemap