Skip to main content
Ce Quickstart est actuellement en Beta. Nous serions ravis de connaître vos commentaires!
Prérequis : Avant de commencer, assurez-vous d’avoir installé les éléments suivants :

Pour commencer

Ce guide explique comment intégrer Auth0, ajouter l’authentification et afficher les renseignements du profil utilisateur dans une application Web Express.js à l’aide du SDK @auth0/auth0-express.
1

Créer un nouveau projet

Créez un nouveau répertoire pour votre application Express et initialisez un projet Node.js.Mettez à jour votre fichier package.json afin d’utiliser les modules ES et d’ajouter des scripts de démarrage :
2

Installer le SDK

Installez @auth0/auth0-express, ainsi que express et dotenv :
3

Configurer Auth0

Vous devez créer une nouvelle application dans votre tenant Auth0 et configurer vos variables d’environnement.
Une fois votre application créée, ajoutez ces valeurs à votre fichier .env :Générez un secret de session sécurisé :
Copiez la sortie et utilisez-la comme valeur de AUTH0_SESSION_SECRET.
Sous macOS ou Linux, vous pouvez aussi exécuter openssl rand -hex 32. La commande Node fonctionne sur toutes les plateformes, puisque Node est déjà un prérequis.
4

Configurer le middleware

Ajoutez le middleware createAuth0() à votre application Express. Le SDK configure automatiquement les routes /auth/login, /auth/logout, /auth/callback et /auth/backchannel-logout.
server.js
Ce que cela fait :
  • createAuth0() lit automatiquement les informations d’identification dans les variables d’environnement (AUTH0_DOMAIN, AUTH0_CLIENT_ID, etc.)
  • Configure quatre routes d’authentification sous /auth/
  • Ajoute req.auth0.client à chaque requête pour accéder à la session et au jeton
5

Ajoutez le login, le logout et une route de profil protégée

Protégez les routes à l’aide du middleware requiresAuth du SDK et affichez les données de profil utilisateur avec getUser().
server.js
Points clés :
  • requiresAuth() de @auth0/auth0-express protège les routes — les utilisateurs non authentifiés sont redirigés vers /auth/login
  • req.auth0.client.getUser() renvoie le profil de l’utilisateur authentifié
  • Le lien de login pointe vers /auth/login et celui de logout, vers /auth/logout — les deux sont automatiquement montés
6

Exécutez votre application

Démarrez le serveur de développement :
Ouvrez votre navigateur à l’adresse http://localhost:3000.
CheckpointVous devriez maintenant disposer d’un Login flow Auth0 entièrement fonctionnel. 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 à /auth/callback
  3. Accédez à /profile — vous voyez les renseignements sur l’utilisateur
  4. Cliquez sur Logout — votre session est supprimée et vous êtes déconnecté d’Auth0

Utilisation avancée

Configurez le SDK avec une audience afin de demander un jeton d’accès pour votre API, puis récupérez-le avec getAccessToken().Ajoutez l’audience de votre API au fichier .env :
.env
Récupérez le jeton dans une route protégée :
server.js
Le SDK actualise automatiquement le jeton d’accès lorsqu’il expire.
Redirigez les utilisateurs vers une page précise après leur connexion à l’aide du paramètre returnTo :
server.js
Créez votre propre logique d’autorisation à partir de la session :
server.js
La revendication https://myapp.com/roles n’est pas incluse par défaut ; ajoutez-la au jeton d’ID à l’aide d’une Action et utilisez un nom de revendication avec espace de noms.

Dépannage

Cause : Le middleware createAuth0() n’a pas été enregistré avant le gestionnaire de votre route.Correctif : Assurez-vous que app.use(createAuth0()) figure avant toute route qui accède à req.auth0 :
Cause : L’URL de rappel définie dans les paramètres de votre application Auth0 ne correspond pas à http://localhost:3000/auth/callback.Correctif :
  1. Accédez à Auth0 DashboardApplications > Applications → votre application → Paramètres de l’application
  2. Ajoutez http://localhost:3000/auth/callback aux URL de rappel autorisées
  3. Ajoutez http://localhost:3000 aux URL de logout autorisées
  4. Cliquez sur Enregistrer les modifications
Remarque : le SDK @auth0/auth0-express utilise /auth/callback (et non /callback, comme express-openid-connect).
Cause : dotenv/config n’est pas importé ou le fichier .env ne contient pas les valeurs requises.Correctif :
  1. Assurez-vous que import 'dotenv/config' (ou require('dotenv').config()) se trouve au début de votre fichier d’entrée
  2. Vérifiez que votre fichier .env contient les cinq variables requises : AUTH0_DOMAIN, AUTH0_CLIENT_ID, AUTH0_CLIENT_SECRET, APP_BASE_URL, AUTH0_SESSION_SECRET
  3. Déboguez les valeurs manquantes :
Cause : Le cookie de session n’est pas correctement défini ou vous accédez directement à l’URL de rappel.Correctif :
  1. Assurez-vous que APP_BASE_URL correspond à l’URL utilisée dans votre navigateur (p. ex., http://localhost:3000)
  2. Effacez les cookies de votre navigateur et réessayez
  3. En production, assurez-vous d’utiliser HTTPS

Prochaines étapes


Ressources