Passer au contenu principal

Invite pour l’IA

Vous utilisez l’IA pour intégrer Auth0? Ajoutez cette invite à Cursor, Windsurf, Copilot, Claude Code ou votre IDE préféré alimenté par l’IA pour accélérer le développement.
Prérequis : Avant de commencer, assurez-vous d’avoir installé les éléments suivants :
  • Node.js 20 LTS ou une version plus récente
  • npm 10+ ou yarn 1.22+ ou pnpm 8+
  • jq – requis pour la configuration de l’interface de ligne de commande (CLI) Auth0
Compatibilité des versions de Next.js : Ce démarrage rapide utilise Next.js 15, qui est entièrement pris en charge par la Trousse de développement logiciel (SDK) Auth0. Next.js 16 est également compatible, mais nécessite l’option --legacy-peer-deps lors de l’installation (voir l’étape 2 pour plus de détails).

Pour commencer

Ce démarrage rapide montre comment ajouter l’authentification avec Auth0 à une application Next.js. Vous allez créer une application web full‑stack avec rendu côté serveur, fonctionnalité de connexion sécurisée et routes protégées à l’aide de la trousse de développement logiciel (SDK) Auth0 pour Next.js.
1

Créer un nouveau projet

Créez un nouveau projet Next.js pour ce démarrage rapide
Ouvrez le projet
Nous utilisons create-next-app@15 pour créer un projet Next.js 15, qui est entièrement pris en charge par la trousse de développement logiciel (SDK) Auth0. Si vous préférez utiliser Next.js 16 ou si vous avez déjà un projet Next.js 16, vous devrez utiliser --legacy-peer-deps lors de l’installation du SDK Auth0 à l’étape 2.
2

Installer la trousse de développement logiciel (SDK) Next.js d'Auth0

Pour les utilisateurs de Next.js 16 : Si vous utilisez Next.js 16 (ou avez mis à niveau vers cette version), installez en utilisant l’option --legacy-peer-deps :
L’option --legacy-peer-deps est nécessaire parce que la prise en charge de Next.js 16 est toujours en cours de développement dans le SDK. Le SDK fonctionne correctement avec Next.js 16 lorsque vous utilisez cette option.
3

Créer les fichiers du projet

Créez tous les répertoires et fichiers nécessaires pour l’intégration avec Auth0 :
4

Configurez votre application Auth0

Ensuite, vous devez créer une nouvelle application sur votre locataire Auth0 et ajouter les variables d’environnement à votre projet.Vous pouvez choisir de le faire automatiquement en exécutant une commande CLI ou manuellement via le tableau de bord :
Exécutez la commande shell suivante depuis le répertoire racine de votre projet pour créer une application Auth0 et générer un fichier .env.local :
5

Créer la configuration d’Auth0

Ajoutez le code du client Auth0 à src/lib/auth0.ts :
src/lib/auth0.ts
6

Ajouter un middleware

Ajoutez le code du middleware dans src/middleware.ts :
src/middleware.ts
Comme nous utilisons un répertoire src/, le fichier middleware.ts est créé à l’intérieur de src/. Si vous n’utilisez pas de répertoire src/, créez-le plutôt à la racine du projet.
Ce middleware configure automatiquement les routes d’authentification suivantes :
  • /auth/login - Route de connexion
  • /auth/logout - Route de déconnexion
  • /auth/callback - Route de rappel
  • /auth/profile - Route du profil utilisateur
  • /auth/access-token - Route du jeton d’accès
  • /auth/backchannel-logout - Route de déconnexion backchannel
7

Créer les composants Login, Logout et Profile

Ajoutez le code des composants aux fichiers créés à l’étape 3 :
8

Mettez à jour votre page d’accueil

Remplacez src/app/page.tsx par :
src/app/page.tsx
9

Mettre à jour le layout avec Auth0Provider (OPTIONNEL)

Mettez à jour src/app/layout.tsx pour encapsuler votre application dans Auth0Provider :
src/app/layout.tsx
Dans la v4, Auth0Provider est facultatif. Vous n’en avez besoin que si vous voulez transmettre un utilisateur initial lors du rendu côté serveur afin qu’il soit disponible pour le hook useUser().
10

Ajouter le style

Remplacez src/app/globals.css par un style moderne aux couleurs d’Auth0 :
src/app/globals.css
11

Lancez votre application

Votre application sera accessible à l’adresse http://localhost:3000. La trousse de développement logiciel (SDK) Auth0 v4 monte automatiquement les routes d’authentification sous /auth/* (et non /api/auth/* comme dans la v3).
Point de contrôleVous devriez maintenant avoir une page de connexion Auth0 entièrement fonctionnelle qui s’exécute sur votre localhost

Dépannage

Si vous voyez une erreur JWEDecryptionFailed: decryption operation failed, cela est causé soit par une valeur AUTH0_SECRET non valide, soit par un ancien cookie de session chiffré avec un secret différent.Solution :
  1. Générez un nouveau secret en utilisant :
  1. Mettez à jour votre fichier .env.local :
  1. Supprimez les cookies de votre navigateur pour localhost:3000 :
    • Chrome/Edge : Appuyez sur F12 → Application tab → Cookies → Delete all cookies for localhost
    • Firefox : Appuyez sur F12 → Storage tab → Cookies → Delete all cookies for localhost
    • Safari : Develop menu → Show Web Inspector → Storage tab → Cookies → Delete all
  2. Redémarrez votre serveur de développement :
Le secret doit être exactement de 32 octets (64 caractères hexadécimaux). L’erreur se produit lorsque l’application tente de déchiffrer un cookie de session existant qui a été chiffré avec un secret différent.
Si, lorsque vous cliquez sur connexion, vous arrivez sur une page 404, vérifiez ces problèmes courants :
  1. Emplacement du middleware : Assurez-vous que src/middleware.ts existe au bon endroit
  2. Code du middleware : Vérifiez que le middleware correspond au code de l’étape 6
  3. Redémarrer le serveur : Après avoir créé le middleware, redémarrez le serveur de développement
  4. Vérifier les imports : Assurez-vous que le chemin import { auth0 } from "./lib/auth0" est correct
Si vous voyez « Cannot find module ’@/components/LoginButton’ » ou des erreurs similaires :
  1. Vérifier l’existence des fichiers : Assurez-vous que tous les fichiers de l’étape 3 ont été créés
  2. Vérifier les chemins : Assurez-vous que les composants se trouvent dans le répertoire src/components/
  3. Redémarrer TypeScript : Appuyez sur Cmd+Shift+P (Mac) ou Ctrl+Shift+P (Windows) et exécutez « TypeScript: Restart TS Server »
  4. Vérifier les imports : Assurez-vous d’utiliser @/components/* (et non ~/components/*)

Utilisation avancée

Ce Démarrage rapide utilise Auth0 Next.js SDK v4, qui comporte des changements importants par rapport à la v3 :
  • Plus besoin de gestionnaires de routes dynamiques - Les routes d’authentification sont automatiquement montées par le middleware
  • Configuration du client simplifiée - new Auth0Client() lit automatiquement les variables d’environnement
  • Nouveaux chemins de route - Les routes se trouvent sous /auth/* plutôt que /api/auth/*
  • Middleware requis - Toutes les fonctionnalités d’authentification passent par le middleware
  • Utilisez des balises <a> - La navigation doit utiliser <a href="/auth/login"> plutôt que des boutons avec onClick

Routes d’authentification

Le SDK monte automatiquement ces routes via le middleware :
Si vous obtenez des erreurs 404 sur ces routes, assurez-vous que :
  1. Le fichier middleware.ts est créé à l’emplacement correct (racine du projet, ou dans src/ si vous utilisez un répertoire src/)
  2. Le middleware est correctement configuré avec le motif de correspondance (matcher) présenté à l’étape 5
  3. Le serveur de développement a été redémarré après la création du fichier de middleware
Auth0 Next.js SDK v4 prend en charge les modèles App Router et Pages Router. Voici quelques modèles courants côté serveur :
app/protected/page.tsx
Pour l’état d’authentification côté client, utilisez le hook useUser :
components/UserProfile.tsx
Pour protéger des routes d’API, utilisez la méthode withApiAuthRequired :
app/api/protected/route.ts