Ce guide explique comment intégrer Auth0 à n’importe quelle application API Express.js, nouvelle ou existante, en utilisant le package
express-oauth2-jwt-bearer
.Si vous n’avez pas encore créé d’API dans votre Auth0 Dashboard, utilisez le sélecteur interactif pour créer une nouvelle API Auth0 ou sélectionner une API existante pour votre projet.Pour configurer votre première API via Auth0 Dashboard, consultez notre guide de démarrage. Chaque API Auth0 utilise l’identificateur API, dont votre application a besoin pour valider le jeton d’accès.Vous ne connaissez pas Auth0? Découvrez Auth0 et l’implémentation de l’authentification et de l’autorisation d’API en utilisant le cadre d’applications OAuth 2.0.
1
Définir les autorisations
Les autorisations vous permettent de définir comment les ressources peuvent être accessibles au nom de l’utilisateur avec un jeton d’accès donné. Par exemple, vous pouvez choisir d’accorder un accès en lecture à la ressource 
messages
si les utilisateurs ont le niveau d’accès gestionnaire et un accès en écriture à cette ressource s’ils ont le niveau d’accès administrateur.Vous pouvez définir les autorisations autorisées dans la vue Permissions (Autorisations) de la section API d’Auth0 Dashboard.
Cet exemple utilise la permission
read:messages
.2
Installer les dépendances
Tout d’abord, installez la trousse SDK avec
npm
.3
Configurer l’intergiciel
Configurez
express-oauth2-jwt-bearer
avec votre domaine et votre identificateur API.L’intergiciel checkJwt
présenté à droite vérifie si le jeton d’accès de l’utilisateur inclus dans la demande est valide. Si le jeton n’est pas valide, l’utilisateur reçoit une erreur « 401 Authorization » (Autorisation 401) lorsqu’il tente d’accéder aux points de terminaison.L’intergiciel ne vérifie pas si le jeton dispose d’une permission suffisante pour accéder aux ressources demandées.4
Protéger les points de terminaison des API
Pour protéger une route individuelle en exigeant un JWT valide, configurez la route avec le logiciel médiateur
Fournir le Jeton d’accès comme un en-tête
checkJwt
développé à partir de express-oauth2-jwt-bearer
.Vous pouvez configurer des routes individuelles pour qu’elles recherchent une permission particulière. Pour ce faire, configurez un autre logiciel médiateur avec la méthode requiresScope
. Fournissez les permissions requises et appliquez le logiciel médiateur à toutes les routes auxquelles vous souhaitez ajouter une autorisation.Transmettez les logiciels médiateurs checkJwt
et requiredScopes
à la route que vous souhaitez protéger.Dans cette configuration, seuls les jetons d’accès avec la permission read:messages
peuvent accéder au point de terminaison.Faire un appel à votre API
Pour appeler votre API, vous avez besoin d’un jeton d’accès. Vous pouvez obtenir un jeton d’accès à des fins de test dans la vue Test dans vos API settings (Paramètres API).
Authorization
dans vos demandes.Point de contrôle
Maintenant que vous avez configuré votre application, exécutez-la pour vérifier que :GET /api/public
est disponible pour les demandes non authentifiées.
GET /api/private
est disponible pour les demandes authentifiées.
GET /api/private-scoped
est disponible pour les demandes authentifiées contenant un jeton d’accès avec la permission read:messages
.Étapes suivantes
Beau travail! Si vous en êtes arrivé là, vous devriez avoir la connexion, la déconnexion et les informations de profil utilisateur actives dans votre application.Cela conclut notre tutoriel de démarrage rapide, mais il y a tellement plus à explorer. Pour en savoir plus sur ce que vous pouvez faire avec Auth0, consultez :- Auth0 Dashboard : apprenez à configurer et gérer votre locataire et vos applications Auth0
- Trousse SDK express-oauth2-jwt-bearer : explorez en détail la trousse SDK utilisée dans ce tutoriel
- Auth0 Marketplace : découvrez des intégrations que vous pouvez activer pour étendre les fonctionnalités d’Auth0