Authentification Next.js : les options comparées

Authentification Next.js : Auth.js, Better Auth ou Clerk | We.Inc

Comparez Auth.js, Better Auth, Clerk, Supabase Auth et une session codée à la main pour Next.js 16, avec le code de mise en place de chacun et un sélecteur qui réduit la liste selon vos besoins.

Authentification Next.js : les options comparées

Pour la plupart des applications Next.js, choisissez une bibliothèque plutôt que d'écrire l'authentification vous-même. Clerk est hébergé et le plus rapide à mettre en place, Supabase Auth convient aux applications déjà sur Supabase, et Better Auth ou Auth.js gardent les utilisateurs dans votre propre base de données. Quel que soit votre choix, revérifiez la session dans le code serveur, car les vérifications dans le proxy ne suffisent pas à protéger les données.

En un coup d'œil

Le guide officiel de Next.js liste douze bibliothèques d'authentification compatibles, soit plus de choix que la plupart des gens n'en veulent. Cette comparaison se limite aux cinq voies que la plupart des équipes envisagent vraiment, montre le code minimum de chacune avec l'App Router et explique les vérifications que vous devez toujours à votre application, quelle que soit la bibliothèque qui connecte les utilisateurs.

Questions fréquentes

NextAuth est-il toujours maintenu ?

Auth.js, le projet autrefois appelé NextAuth, indique sur son propre site qu'il fait désormais partie de Better Auth. Sa commande d'installation pour Next.js reste npm install next-auth@beta. Les nouveaux projets démarrent souvent directement sur Better Auth, tandis que les applications Auth.js existantes continuent de fonctionner.

Puis-je protéger des pages avec proxy.ts seul ?

Non. La documentation de Next.js qualifie les vérifications du proxy d'optimistes : utiles pour des redirections rapides basées sur un cookie, mais pas une barrière de sécurité. Revérifiez la session au plus près des données, car les Server Functions et les routes hors du matcher ne passent jamais par le proxy.

Quelle option coûte le moins cher ?

Les bibliothèques qui stockent les utilisateurs dans votre propre base de données, comme Better Auth ou Auth.js, n'ont aucun frais par utilisateur ; vous payez votre base de données et l'envoi des e-mails. Supabase Auth inclut 50,000 utilisateurs actifs mensuels dans l'offre gratuite en octobre 2026. Consultez la page de tarifs de Clerk pour son quota gratuit actuel.

Fonctionnent-elles avec Next.js 16 ?

Oui. Clerk et Supabase documentent tous deux proxy.ts pour Next.js 16 et middleware.ts pour les versions plus anciennes, et Better Auth fournit un utilitaire de cookie pour le proxy ainsi qu'une vérification complète de session pour le code serveur.

Sessions sans état ou en base de données ?

Un cookie signé (sans état) est plus simple et ne demande aucune recherche, mais vous ne pouvez pas le révoquer avant son expiration. Une session en base coûte une requête par vérification et permet aux utilisateurs de se déconnecter de tous leurs appareils. De nombreuses bibliothèques vous laissent choisir.

Hébergé ou auto-hébergé

Si vous utilisez déjà Supabase

Écrire la vôtre

Mise en place minimale pour chaque option

Clerk

Installez @clerk/nextjs et définissez NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY et CLERK_SECRET_KEY. Avec Next.js 16, le fichier middleware s'appelle proxy.ts.

Supabase Auth

Un client serveur créé à chaque requête à partir du magasin de cookies, avec la clé publishable. getClaims() vérifie le jeton avant que vous vous y fiiez.

Better Auth

Montez le gestionnaire sur une route catch-all, puis lisez la session côté serveur avec les en-têtes de la requête.

Auth.js (next-auth v5 bêta)

auth.ts exporte handlers, auth, signIn et signOut. Définissez AUTH_SECRET (npx auth secret en crée un).

Votre propre cookie de session signé

Une version courte du modèle du guide Next.js : jose signe le contenu et le cookie est HttpOnly, Secure et SameSite=Lax.

Où vérifier la session

Vérifications d'authentification par emplacement (d'après le guide d'authentification Next.js)

Clerk

Le plus rapide pour obtenir une page de connexion fonctionnelle ; les utilisateurs sont chez Clerk.

Supabase Auth

Les utilisateurs sont dans votre Postgres Supabase ; les offres payantes facturent les utilisateurs au-delà du quota inclus.

Better Auth

Bibliothèque intégrée à votre application, écrit dans votre base de données, avec des plugins pour les extras.

Option de longue date, qui fait désormais partie de Better Auth ; la v5 est encore publiée en bêta.

Solution maison

Contrôle total ; vous écrivez chaque parcours et en assurez la sécurité.

Les données des utilisateurs restent dans une base que je contrôle

Écrans de connexion et de profil prêts à l'emploi

Aucun frais par utilisateur de la part du fournisseur d'authentification

Connexion liée à la sécurité au niveau des lignes de Postgres

Sélecteur d'option d'authentification

Cochez les exigences qui comptent et la liste ne garde que les options qui les remplissent toutes.

Exigences

Aucune option ne remplit à elle seule toutes les exigences cochées. Décochez-en une pour comparer.

Commencer gratuitement · Sans carte bancaire

Voir aussi: Guides

Produit

Pour qui

Fonctionnalités

Ressources

Entreprise

Plan du site