Utilisez l’IA pour intégrer Auth0
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
1
Créer un nouveau projet
Créez un nouveau répertoire pour votre application Fastify et initialisez un projet Node.js.Initialiser le projetCréer la structure du projet
2
Installer le SDK Auth0 Fastify
Installez les dépendances nécessairesMettez à jour votre
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.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 :
- Quick Setup (recommandé)
- CLI
- Dashboard
Créez une Auth0 App et copiez le fichier
.env prérempli avec les bonnes valeurs de configuration.4
Configurer le plugin Auth0
Créez votre serveur Fastify et enregistrez le plugin Auth0 :Ce que cela fait :
server.js
- 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/logoutet/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 Créez le modèle de page d’accueil :Créez le modèle de page de profil :
views et ajoutez des fichiers de gabarit :Mac/Linux
Windows
views/home.ejs
views/profile.ejs
6
Créer des routes
Ajoutez des routes dans votre fichier Points clés :
server.js :server.js
- La route d’accueil vérifie l’état d’authentification et le transmet au gabarit
- La route de profil utilise un
preHandlerpour 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 :
- Cliquez sur “Login” - vous êtes redirigé vers la page Universal Login d’Auth0
- Terminez l’authentification - vous êtes redirigé vers votre application
- Accédez à “/profile” - vous voyez les renseignements de votre profil
- Cliquez sur “Logout” - vous êtes déconnecté à la fois de votre application et d’Auth0
Utilisation avancée
Appeler des API protégées avec des jetons d’accès
Appeler des API protégées avec des jetons d’accès
Pour appeler des API externes qui exigent un jeton d’accès, configurez le SDK avec une audience :Ajoutez ceci à votre fichier Ensuite, récupérez et utilisez le jeton d’accès :
server.js
.env :.env
server.js
Routes personnalisées
Routes personnalisées
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.
Liaison de comptes
Liaison de comptes
Permettez aux utilisateurs de lier plusieurs fournisseurs d’authentification à un seul compte :Cela crée automatiquement les routes suivantes :
server.js
/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
views/profile.ejs
Utilisation de TypeScript
Utilisation de TypeScript
Convertissez votre projet en TypeScript pour améliorer la sécurité du typage :Créez un Renommez Mettez à jour
tsconfig.json :tsconfig.json
server.js en server.ts et ajoutez les types :server.ts
package.json :package.json
Dépannage
Problèmes courants et solutions
Problèmes courants et solutions
Erreur « invalid state » après la connexion
Problème : Le paramètrestate de la requête d’authentification ne correspond pas à celui du callback.Solutions :- Assurez-vous que les cookies sont correctement définis (et non bloqués par le navigateur)
- Vérifiez que l’URL de rappel correspond exactement dans l’Auth0 Dashboard (y compris
/auth/callback) - Vérifiez que
SESSION_SECRETest 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 :- Accédez à votre Auth0 Dashboard → Applications → Your App → Settings
- Ajoutez
http://localhost:3000/auth/callbackà Allowed Callback URLs - 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 sontundefined.Solution :- Assurez-vous que
import 'dotenv/config'se trouve en haut de votre fichier d’entrée - Vérifiez que le fichier
.envse trouve dans le répertoire racine - Vérifiez qu’il n’y a pas de fautes de frappe dans les noms de variables
Prochaines étapes
- Authentification API Fastify - Protégez vos endpoints d’API grâce à la validation JWT
- Personnaliser Universal Login - Adaptez votre expérience de connexion à votre image de marque
- Ajouter des connexions sociales - Activez Google, GitHub et d’autres connexions sociales
- Mettre en place la MFA - Ajoutez l’authentification multifacteur
Ressources
- auth0-fastify GitHub - Code source et exemples
- Fastify Documentation - En savoir plus sur Fastify
- Auth0 Community - Obtenez de l’aide auprès de la communauté