Passer au contenu principal

Utiliser l’IA pour intégrer Auth0

Si vous utilisez un assistant de codage IA comme Claude Code, Cursor ou GitHub Copilot, vous pouvez ajouter automatiquement l’authentification Auth0 en quelques minutes à l’aide des agent skills.Installer :
Ensuite, demandez à 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 des 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.

Premiers pas

Ce guide de démarrage rapide explique comment intégrer l’authentification Auth0 à une application Fastify. Vous créerez une application web sécurisée avec des fonctionnalités de connexion, de déconnexion et de profil utilisateur à l’aide du SDK Fastify d’Auth0.
1

Créer un nouveau projet

Créez un nouveau dossier pour votre application Fastify et initialisez un projet Node.js.
Initialisez le projet
Créez la structure du projet
2

Installer le SDK Auth0 pour Fastify

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

Configurez votre application Auth0

Ensuite, vous devez créer une nouvelle application dans votre locataire Auth0 et ajouter les variables d’environnement à votre projet.Vous avez trois options pour configurer votre application Auth0 : utiliser l’outil de configuration rapide (recommandé), exécuter une commande CLI ou faire la configuration manuellement dans l’Auth0 Dashboard :
Créez une application Auth0 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 plugiciel Auth0

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

Créer des gabarits de vue

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 à votre fichier server.js :
server.js
Points clés :
  • La route d’accueil vérifie le statut d’authentification et le transmet au gabarit
  • La route de profil utilise un preHandler pour la protéger
  • 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.
L’option --watch de Node.js 20+ redémarre automatiquement le serveur lorsque des 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. Visitez “/profile” - vous voyez les informations 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 nécessitent 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 sous /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 Auth0 Dashboard pour inclure votre URL de callback personnalisée.
Permettez aux utilisateurs de lier plusieurs fournisseurs d’authentification à un même compte :
server.js
Cela crée automatiquement les routes suivantes :
  • /auth/connect - Lier un nouveau fournisseur
  • /auth/connect/callback - Gérer le callback de liaison
  • /auth/unconnect - Dissocier un fournisseur
  • /auth/unconnect/callback - Gérer le callback 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é des types :
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 state ne correspond pas entre la requête d’authentification et le callback.Solutions :
  1. Assurez-vous que les témoins sont bien définis (et non bloqués par le navigateur)
  2. Vérifiez que l’URL de callback correspond exactement dans 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 :

Non-correspondance de l’URL de callback

Problème : Erreur « Callback URL mismatch » provenant d’Auth0.Solution :
  1. Accédez à Auth0 Dashboard → Applications → votre application → 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