Skip to main content

Utilisez l’IA pour intégrer Auth0

Si vous utilisez un assistant de codage IA comme Claude Code, Cursor ou GitHub Copilot, vous pouvez ajouter l’authentification Auth0 automatiquement en quelques minutes à l’aide d’Agent Skills.Installer :
Demandez ensuite à votre assistant IA :
Votre assistant IA créera automatiquement votre application Auth0, récupérera les identifiants, installera @auth0/auth0-fastify, configurera le plugin et créera toutes les routes et vues nécessaires. Documentation complète sur Agent Skills →
Prérequis : Avant de commencer, assurez-vous d’avoir installé les éléments suivants :Vérifiez l’installation : node --version && npm --versionCompatibilité des versions de Fastify : Ce guide de démarrage rapide fonctionne avec Fastify 5.x et les versions ultérieures.

Pour commencer

Ce guide de démarrage rapide montre comment ajouter l’authentification Auth0 à une application Fastify. Vous créerez une application web sécurisée avec des fonctionnalités de login, de logout et de profil utilisateur à l’aide de l’Auth0 Fastify SDK.
1

Créer un nouveau projet

Créez un nouveau répertoire pour votre application Fastify et initialisez un projet Node.js.
Initialiser le projet
Créer la structure du projet
2

Installer le SDK Auth0 Fastify

Installez les dépendances nécessaires
Nous utilisons @fastify/view avec ejs pour le rendu côté serveur. Vous pouvez utiliser n’importe quel moteur de gabarits pris en charge par Fastify.
Mettez à jour votre package.json pour y ajouter des scripts de démarrage :
package.json
3

Configurez votre Auth0 App

Ensuite, vous devez créer une nouvelle application dans votre tenant Auth0 et ajouter les variables d’environnement à votre projet.Vous avez trois options pour configurer votre application Auth0 : utiliser l’outil Quick Setup (recommandé), exécuter une commande CLI ou effectuer la configuration manuellement dans le Dashboard :
Créez une Auth0 App et copiez le fichier .env prérempli avec les bonnes valeurs de configuration.
Vérifiez que votre fichier .env existe : cat .env (Mac/Linux) ou type .env (Windows)
4

Configurer le plugin Auth0

Créez votre serveur Fastify et enregistrez le plugin Auth0 :
server.js
Ce que cela fait :
  • Enregistre le moteur de rendu pour afficher les modèles HTML
  • Configure le plugin Auth0 avec vos identifiants
  • Crée automatiquement des routes à /auth/login, /auth/logout et /auth/callback
  • Gère les sessions à l’aide de cookies chiffrés
5

Créer des modèles d’affichage

Créez un répertoire views et ajoutez des fichiers de gabarit :
Mac/Linux
Windows
Créez le modèle de page d’accueil :
views/home.ejs
Créez le modèle de page de profil :
views/profile.ejs
6

Créer des routes

Ajoutez des routes dans votre fichier server.js :
server.js
Points clés :
  • La route d’accueil vérifie l’état d’authentification et le transmet au gabarit
  • La route de profil utilise un preHandler pour protéger la route
  • getSession() renvoie la session de l’utilisateur, ou null s’il n’est pas authentifié
  • getUser() renvoie les informations du profil de l’utilisateur authentifié
7

Lancez votre application

Démarrez le serveur de développement :
Ouvrez http://localhost:3000 dans votre navigateur.
Le paramètre --watch de Node.js 20+ redémarre automatiquement le serveur lorsque les fichiers sont modifiés.
VérificationVous devriez maintenant avoir une page de connexion Auth0 entièrement fonctionnelle. Lorsque vous :
  1. Cliquez sur “Login” - vous êtes redirigé vers la page Universal Login d’Auth0
  2. Terminez l’authentification - vous êtes redirigé vers votre application
  3. Accédez à “/profile” - vous voyez les renseignements de votre profil
  4. Cliquez sur “Logout” - vous êtes déconnecté à la fois de votre application et d’Auth0

Utilisation avancée

Pour appeler des API externes qui exigent un jeton d’accès, configurez le SDK avec une audience :
server.js
Ajoutez ceci à votre fichier .env :
.env
Ensuite, récupérez et utilisez le jeton d’accès :
server.js
Par défaut, les routes Auth0 sont montées sur /auth/*. Vous pouvez désactiver le montage automatique et créer des routes personnalisées :
server.js
N’oubliez pas de mettre à jour vos Allowed Callback URLs dans l’Auth0 Dashboard pour inclure votre URL de rappel personnalisée.
Permettez aux utilisateurs de lier plusieurs fournisseurs d’authentification à un seul compte :
server.js
Cela crée automatiquement les routes suivantes :
  • /auth/connect - Lier un nouveau fournisseur
  • /auth/connect/callback - Gérer le rappel de liaison
  • /auth/unconnect - Dissocier un fournisseur
  • /auth/unconnect/callback - Gérer le rappel de dissociation
Ajoutez des boutons de liaison à votre page de profil :
views/profile.ejs
Convertissez votre projet en TypeScript pour améliorer la sécurité du typage :
Créez un tsconfig.json :
tsconfig.json
Renommez server.js en server.ts et ajoutez les types :
server.ts
Mettez à jour package.json :
package.json

Dépannage

Erreur « invalid state » après la connexion

Problème : Le paramètre state de la requête d’authentification ne correspond pas à celui du callback.Solutions :
  1. Assurez-vous que les cookies sont correctement définis (et non bloqués par le navigateur)
  2. Vérifiez que l’URL de rappel correspond exactement dans l’Auth0 Dashboard (y compris /auth/callback)
  3. Vérifiez que SESSION_SECRET est défini et contient au moins 64 caractères

Erreur « session is undefined »

Problème : Impossible de récupérer les données de session.Solution : Assurez-vous que le plugin Auth0 est enregistré avant d’accéder aux méthodes de session :

Incompatibilité de l’URL de rappel

Problème : Erreur « Callback URL mismatch » renvoyée par Auth0.Solution :
  1. Accédez à votre Auth0 Dashboard → Applications → Your App → Settings
  2. Ajoutez http://localhost:3000/auth/callback à Allowed Callback URLs
  3. L’URL doit correspondre exactement (y compris le chemin /auth/callback)

Les variables d’environnement ne se chargent pas

Problème : Les valeurs de configuration sont undefined.Solution :
  1. Assurez-vous que import 'dotenv/config' se trouve en haut de votre fichier d’entrée
  2. Vérifiez que le fichier .env se trouve dans le répertoire racine
  3. Vérifiez qu’il n’y a pas de fautes de frappe dans les noms de variables

Prochaines étapes

Maintenant que l’authentification fonctionne, pensez à explorer :

Ressources