Utiliser l’IA pour intégrer Auth0
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
Créer un nouveau projet
Créez un nouveau dossier pour votre application Fastify et initialisez un projet Node.js.Initialisez le projetCréez la structure du projet
Installer le SDK Auth0 pour Fastify
Installez les dépendances requisesMettez à jour votre
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.package.json pour y ajouter des scripts de démarrage :package.json
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 :
- Configuration rapide (recommandée)
- CLI
- Auth0 Dashboard
Créez une application Auth0 et copiez le fichier
.env prérempli avec les bonnes valeurs de configuration.Configurer le plugiciel Auth0
Créez votre serveur Fastify et enregistrez le module d’extension Auth0 :Ce que cela fait :
server.js
- 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/logoutet/auth/callback - Gère les sessions à l’aide de témoins chiffrés
Créer des gabarits de vue
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
Créer des routes
Ajoutez des routes à votre fichier Points clés :
server.js :server.js
- La route d’accueil vérifie le statut d’authentification et le transmet au gabarit
- La route de profil utilise un
preHandlerpour la protéger getSession()renvoie la session de l’utilisateur ounulls’il n’est pas authentifiégetUser()renvoie les informations du profil de l’utilisateur authentifié
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 :
- Cliquez sur “Login” - vous êtes redirigé vers la page Universal Login d’Auth0
- Terminez l’authentification - vous êtes redirigé vers votre application
- Visitez “/profile” - vous voyez les informations 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 nécessitent 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
Chemins de route personnalisés
Chemins de route personnalisés
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.
Liaison de comptes
Liaison de comptes
Permettez aux utilisateurs de lier plusieurs fournisseurs d’authentification à un même compte :Cela crée automatiquement les routes suivantes :
server.js
/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
views/profile.ejs
Utilisation de TypeScript
Utilisation de TypeScript
Convertissez votre projet en TypeScript pour améliorer la sécurité des types :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 : Lestate ne correspond pas entre la requête d’authentification et le callback.Solutions :- Assurez-vous que les témoins sont bien définis (et non bloqués par le navigateur)
- Vérifiez que l’URL de callback correspond exactement dans 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 :Non-correspondance de l’URL de callback
Problème : Erreur « Callback URL mismatch » provenant d’Auth0.Solution :- Accédez à Auth0 Dashboard → Applications → votre application → 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 d’API avec Fastify - Protégez les points de terminaison de votre API à l’aide de la validation JWT
- Personnaliser Universal Login - Personnalisez votre expérience de connexion
- Ajouter des connexions sociales - Activez Google, GitHub et d’autres connexions sociales
- Implémenter MFA - Ajoutez l’authentification multifacteur
Ressources
- auth0-fastify GitHub - Code source et exemples
- Documentation Fastify - En savoir plus sur Fastify
- Communauté Auth0 - Obtenez de l’aide auprès de la communauté