Invite pour l’IA
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
--legacy-peer-deps lors de l’installation (voir l’étape 2 pour plus de détails).Pour commencer
Créer un nouveau projet
Créez un nouveau projet Next.js pour ce démarrage rapideOuvrez 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.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 L’option
--legacy-peer-deps :--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.Créer les fichiers du projet
Créez tous les répertoires et fichiers nécessaires pour l’intégration avec Auth0 :
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 :
- CLI
- 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 :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
Créer les composants Login, Logout et Profile
Ajoutez le code des composants aux fichiers créés à l’étape 3 :
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().Ajouter le style
Remplacez
src/app/globals.css par un style moderne aux couleurs d’Auth0 :src/app/globals.css
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
Erreur JWEDecryptionFailed
Erreur JWEDecryptionFailed
Si vous voyez une erreur 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.
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 :- Générez un nouveau secret en utilisant :
- Mettez à jour votre fichier
.env.local:
- 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
- Chrome/Edge : Appuyez sur
- Redémarrez votre serveur de développement :
Erreur 404 sur /auth/login
Erreur 404 sur /auth/login
Si, lorsque vous cliquez sur connexion, vous arrivez sur une page 404, vérifiez ces problèmes courants :
- Emplacement du middleware : Assurez-vous que
src/middleware.tsexiste au bon endroit - Code du middleware : Vérifiez que le middleware correspond au code de l’étape 6
- Redémarrer le serveur : Après avoir créé le middleware, redémarrez le serveur de développement
- Vérifier les imports : Assurez-vous que le chemin
import { auth0 } from "./lib/auth0"est correct
Erreurs « Module Not Found »
Erreurs « Module Not Found »
Si vous voyez « Cannot find module ’@/components/LoginButton’ » ou des erreurs similaires :
- Vérifier l’existence des fichiers : Assurez-vous que tous les fichiers de l’étape 3 ont été créés
- Vérifier les chemins : Assurez-vous que les composants se trouvent dans le répertoire
src/components/ - Redémarrer TypeScript : Appuyez sur
Cmd+Shift+P(Mac) ouCtrl+Shift+P(Windows) et exécutez « TypeScript: Restart TS Server » - Vérifier les imports : Assurez-vous d’utiliser
@/components/*(et non~/components/*)
Utilisation avancée
Changements importants de la v4
Changements importants de la v4
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 :| Route | Objectif |
|---|---|
/auth/login | Initier la connexion |
/auth/logout | Déconnecter l’utilisateur |
/auth/callback | Gérer le callback Auth0 |
/auth/profile | Obtenir le profil utilisateur |
/auth/access-token | Obtenir un jeton d’accès |
/auth/backchannel-logout | Gérer la déconnexion backchannel |
Si vous obtenez des erreurs 404 sur ces routes, assurez-vous que :
- Le fichier
middleware.tsest créé à l’emplacement correct (racine du projet, ou danssrc/si vous utilisez un répertoiresrc/) - Le middleware est correctement configuré avec le motif de correspondance (matcher) présenté à l’étape 5
- Le serveur de développement a été redémarré après la création du fichier de middleware
Authentification côté serveur
Authentification côté serveur
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 Router - Server Component
- App Router - API Route
- Pages Router - Page
app/protected/page.tsx
Authentification côté client
Authentification côté client
Pour l’état d’authentification côté client, utilisez le hook
useUser :components/UserProfile.tsx
Protection des routes d'API
Protection des routes d'API
Pour protéger des routes d’API, utilisez la méthode
withApiAuthRequired :app/api/protected/route.ts