Configuration de l’API
Pour protéger une API, vous devez enregistrer une API en utilisant le tableau de bord Auth0 Suivez les instructions sur enregistrement des API pour configurer l’API des feuilles de temps.Profil de jeton Web JSON
définit le type de profils, ou dialectes, pour un jeton d’accès. Auth0 prend en charge deux profils différents :- Profil de jeton Auth0
- Profil RFC 9068
azp
plutôt que client_id
. Vous pouvez en savoir plus sur les différences en lisant Profils de jetons 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 du jeton Web JSON () est bien celui qu’il prétend être et pour s’assurer que le message n’a pas été modifié en cours de route.La signature fait partie d’un JWT. Si vous n’êtes pas familier avec la structure des JWT, veuillez consulter Structure du jeton Web JSON.
HS256,``RS256,
ou PS256
.
La pratique la plus sûre, et notre recommandation, est d’utiliserRS256. Voici quelques raisons :
- Avec RS256, vous êtes sûr que seul le détenteur de la clé privée (Auth0) peut signer les jetons, tandis que n’importe qui peut vérifier si le jeton est valide à l’aide de la clé publique.
- Dans un contexte lié à HS256, si la clé privée est compromise, vous allez devoir déployer à nouveau l’API avec le nouveau secret. Avec RS256, vous pouvez demander un jeton valide pour différentes audiences.
- Avec RS256, vous pouvez mettre en œuvre la rotation des clés sans avoir à redéployer l’API avec le nouveau secret.
Configurer les permissions
Dans les paramètres de votre API, vous devez configurer les champs d’application que les applications peuvent demander pendant l’autorisation. Naviguez jusqu’à l’onglet Permissions. Dans cette section, vous pouvez ajouter les quatre permissions mentionnées précédemment :batch:upload
, read:timesheets
, create:timesheets
, delete:timesheets
, et approve:timesheets
. Ajoutez également un champ d’application supplémentaire : batch:upload
.
Dans le cadre de ce document, nous ne nous intéresserons qu’à la permission
batch:upload
car c’est tout ce qui est requis par la tâche cron. Cependant, par souci d’exhaustivité, nous ajoutons les permissions nécessaires qui seront requises par les applications futures.
Créer l’application
Lors de la création d’une API dans le tableau de bord Auth0, une application de test pour l’API sera automatiquement générée. Dans le tableau de bord Auth0, naviguez vers la section Application,et vous verrez l’application de test pour l’API feuilles de temps.
Tâche d’importation de feuilles de temps
.
Pour la tâche cron, vous aurez besoin d’une application de communication entre machines. L’application de test générée lors de la création de l’API a été automatiquement configurée comme une application machine-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 Applications machine-machine. Vous verrez l’application Emploi d’importation de feuilles de temps listée, et elle doit avoir accès à l’API, comme indiqué par le commutateur à droite du nom de l’application, qui indique une valeur deAutorisé
. Si le commutateur n’indique pas que l’application est autorisée, il suffit de basculer la valeur du commutateur de Non autorisé
à Autorisé
.
Vous devez également spécifier quelles permissions seront incluses dans les jetons d’accès émis à l’application lorsque celle-ci s’autorise avec Auth0.
Développez les paramètres de l’application en cliquant sur la flèche indiquant le bas à l’extrême droite, et vous verrez la liste des permissions disponibles. La tâche cron nécessitera uniquement le champ d’application batch:upload
car elle se contentera de créer de nouvelles feuilles de temps à partir des entrées de feuilles de temps dans le système externe.
Une fois que vous avez sélectionné la permission batch:upload
, enregistrez les paramètres en cliquant sur le bouton Mettre à jour .
