OAuth 2.0
Rôles OAuth
Dans tout flux OAuth 2.0, nous pouvons identifier les rôles suivants :
- Propriétaire de la ressource : l’entité qui peut accorder l’accès à une ressource protégée. Il s’agit généralement de l’utilisateur final.
- Serveur de ressources : le serveur qui héberge les ressources protégées. C’est l’API à laquelle vous voulez accéder.
- Application : une application qui demande l’accès à une ressource protégée au nom du propriétaire de la ressource.
- Serveur d’autorisation : le serveur qui authentifie le propriétaire de la ressource et émet des Jetons d’accès après avoir obtenu l’autorisation appropriée. Dans ce cas-ci, il s’agit de l’Authentication API d’Auth0.
Client Credentials Grant

- L’application s’authentifie auprès du serveur d’autorisation à l’aide de son ID client et de son Secret client.
- Le serveur d’autorisation valide ces renseignements et renvoie un jeton d’accès.
- L’application peut utiliser le jeton d’accès pour appeler le serveur de ressources pour son propre compte.
Jetons d’accès et scopes
access_token) comme preuve qu’elle possède les autorisations requises.
Un jeton d’accès est une chaîne opaque représentant une autorisation accordée à l’application, obtenue en authentifiant l’utilisateur auprès d’un serveur d’autorisation. L’utilisateur peut ensuite autoriser l’application à accéder à l’API en son nom. Pour en savoir plus, consultez Jetons d’accès.
Une API comme la Timesheets API peut appliquer un contrôle précis sur l’accès aux différents points de terminaison qu’elle expose. Ces autorisations sont exprimées sous forme de scopes.
Lorsque l’Application Web régulière d’ExampleCo ou l’application tierce s’authentifie auprès d’Auth0 pour obtenir un jeton d’accès, la requête d’authentification inclut la liste des scopes demandés dont l’application a besoin. Si ces scopes sont autorisés, le jeton d’accès contiendra alors la liste des scopes accordés à l’application.
L’Application Web régulière ou l’application tierce inclut le jeton d’accès provenant du serveur d’autorisation lorsqu’elle envoie des requêtes à la Timesheets API, et la Timesheets API examine la revendication scope pour s’assurer que les autorisations requises ont été accordées afin d’appeler le point de terminaison en question.
Par exemple, la Timesheets API peut accepter quatre niveaux d’autorisation différents : lecture des feuilles de temps (scope read:timesheets), création de feuilles de temps (scope create:timesheets), suppression de feuilles de temps (scope delete:timesheets) et approbation de feuilles de temps (scope approve:timesheets).
Pour plus d’informations sur les scopes, consultez Scopes.
Lorsque l’Application Web régulière envoie une requête à la Timesheets API pour créer une nouvelle entrée de feuille de temps, le jeton d’accès doit contenir le scope create:timesheets, sinon la requête sera refusée. De la même façon, pour supprimer des feuilles de temps existantes, le jeton d’accès doit contenir le scope delete:timesheets.
Pour en savoir plus, consultez Scopes.