Auth0 jeton dapi
Configuration d’Auth0 (applications serveur + API)
Dans cette section, nous allons passer en revue les configurations d’ExampleCo à l’aide du tableau de bord Auth0.
Configurer l’API
Pour protéger une API, vous devez l’enregistrer à l’aide de l’option . Suivez les instructions sur les API d’enregistrement pour configurer l’API Feuilles de temps.
Le profil JSON Web Token définit
le type de profils, ou dialectes, d’un fichier . Auth0 prend en charge deux profils différents :
-
Auth0 Profil de jeton
-
Profil RFC 9068
La valeur par défaut est le profil Auth0. La principale différence entre ces deux profils est la différence entre les noms de claims. Le profil Auth0 utilise plutôt que . Pour en savoir plus sur les différences, consultez la page Profils de jeton d’accès.
Algorithmes de signature
Lorsque vous créez une API, vous devez sélectionner l’algorithme avec lequel vos jetons seront signés. La signature est utilisée pour vérifier que l’expéditeur de l’est bien celui qu’il prétend être et pour s’assurer que le message n’a pas été modifié en cours de route.
Pour créer la signature, vous devez prendre l’en-tête codé, la charge utile codée, un secret, l’algorithme spécifié dans l’en-tête et le signer. Cet algorithme, qui fait partie de l’en-tête JWT, est celui que vous sélectionnez pour votre API : ou .
La pratique la plus sûre, et notre recommandation, est d’utiliser RS256 . Certaines des raisons sont les suivantes :
-
Avec RS256, vous êtes sûr que seul le détenteur de la clé privée (Auth0) peut signer des jetons, tandis que n’importe qui peut vérifier si le jeton est valide à l’aide de la clé publique.
-
Sous HS256, si la clé privée est compromise vous devrez redéployer l’API avec le nouveau secret. Avec RS256, vous pouvez demander un jeton valide pour plusieurs audiences.
-
Avec RS256, vous pouvez implémenter la rotation des clés sans avoir à redéployer l’API avec le nouveau secret.
Configurer les étendues
Dans les paramètres de votre API, vous devez configurer les étendues que les applications peuvent demander lors de l’autorisation. Accédez à l’onglet Autorisations .
Dans cette section, vous pouvez ajouter les quatre étendues décrites ci-dessus : , , , et . Ajoutez également une portée supplémentaire : .
Dans le cadre de ce document, nous ne nous intéresserons qu’à la portée, car c’est tout ce qui est requis par la tâche cron. Toutefois, par souci d’exhaustivité, nous ajoutons les portées nécessaires qui seront nécessaires par des applications futures.
Créer l’application
Lors de la création d’une API dans le Dashboard Auth0, une application de test pour l’API sera automatiquement générée. Dans le tableau de bord Auth0, accédez à la section Application et vous verrez l’application de test pour l’API Timesheets.
Allez dans les paramètres de l’application en sélectionnant l’option de menu à la fin. Renommez l’application en .
Pour la tâche cron, vous aurez besoin d’une application Machine-to-Machine. L’application de test générée lors de la création de l’API a été automatiquement configurée en tant qu’application Machine-to-Machine.
Configurer l’accès de l’application à l’API
Enfin, vous devez autoriser l’application à accéder à l’API Feuilles de temps. Revenez à la configuration de l’API, et sélectionnez l’onglet Application de machine à machine.
Vous verrez l’application Timesheets Import Job répertoriée, et elle doit avoir accès à l’API, comme on peut le voir sur le commutateur à droite du nom de l’application qui indique une valeur de . S’il n’indique pas que l’application est autorisée, il suffit de basculer la valeur du commutateur de à .
Vous devrez également spécifier les étendues qui seront incluses dans les jetons d’accès qui sont émis pour l’application lorsque l’application autorise avec Auth0.
Développez les paramètres de l’application en cliquant sur la flèche vers le bas à l’extrême droite, et vous verrez la liste des étendues disponibles. La tâche cron n’aura besoin que de la portée, car elle créera simplement de nouvelles feuilles de temps basées sur les entrées de feuille de temps dans le système externe.
Une fois que vous avez sélectionné l’étendue , enregistrez les paramètres en cliquant sur le bouton Mettre à jour .
Maintenant que nous avons conçu notre solution et discuté des configurations nécessaires du côté d’Auth0, nous pouvons procéder à la mise en œuvre.