Configurer l’API
Profil de JSON Web Token
- Auth0 token profile
- RFC 9068 profile
azp plutôt que client_id. Pour en savoir plus sur ces différences, consultez Access Token Profiles.
Algorithmes de signature
La signature fait partie d’un JWT. Si la structure d’un JWT ne vous est pas familière, veuillez consulter Structure d’un JSON Web Token.
HS256, RS256, ou PS256.
La pratique la plus sécuritaire, et celle que nous recommandons, est d’utiliser RS256. En voici quelques raisons :
- Avec RS256, vous avez l’assurance que seul le détenteur de la clé privée (Auth0) peut signer des jetons, tandis que n’importe qui peut vérifier la validité du jeton à l’aide de la clé publique.
- Avec HS256, si le secret est compromis, 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 effectuer une rotation de clé sans avoir à redéployer l’API avec le nouveau secret.
Configurer les scopes
batch:upload, read:timesheets, create:timesheets, delete:timesheets et approve:timesheets. Ajoutez également un scope supplémentaire : batch:upload.
Dans le cadre de ce document, nous nous intéresserons uniquement au scope
batch:upload, car c’est le seul requis par la tâche cron. Toutefois, par souci d’exhaustivité, nous ajoutons les scopes nécessaires qui seront requis par de futures applications.
Créer l’application

Timesheets Import Job.
Pour le cron job, vous aurez besoin d’une Machine-to-Machine Application. L’application de test générée lors de la création de l’API a été automatiquement configurée comme une Machine-to-Machine Application.
Configurer l’accès de l’application à l’API
Authorized. Si ce n’est pas le cas, il suffit de faire passer la valeur du commutateur de Unauthorized à Authorized.
Vous devrez également préciser quels scopes seront inclus dans les jetons d’accès émis pour l’application lorsque celle-ci s’autorise auprès d’Auth0.
Développez les paramètres de l’application en cliquant sur la flèche vers le bas tout à fait à droite, et vous verrez la liste des scopes disponibles. La tâche cron n’aura besoin que du scope batch:upload, puisqu’elle créera simplement de nouvelles feuilles de temps à partir des entrées de feuille de temps du système externe.
Une fois le scope batch:upload sélectionné, enregistrez les paramètres en cliquant sur le bouton Update.
