OAuth 2.0
Rôles OAuth
Dans tout flux OAuth 2.0, nous pouvons identifier les rôles suivants :
- Resource Owner (Propriétaire de ressource) : l’entité qui peut donner accès à la ressource protégée. Il s’agit habituellement de l’utilisateur final.
- Resource Server (Serveur de ressources) : serveur hébergeant les ressources protégées. Il s’agit de l’API à laquelle vous souhaitez accéder.
- Client : une application demandant l’accès à une ressource protégée au nom du propriétaire de ressource.
- Authorization Server (Serveur d’autorisation) : le serveur qui authentifie le propriétaire de ressource, et émet les jetons d’accès afin de fournir l’autorisation adéquate. Dans ce cas, l’Authentication API Auth0.
Autorisation des identifiants client

- 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 informations et renvoie un jeton d’accès.
- L’application peut utiliser le jeton d’accès pour appeler le serveur de ressources en son nom.
Jetons d’accès et permissions
access_token) comme preuve qu’elle dispose des autorisations requises.
Un jeton d’accès est une chaîne opaque représentant une autorisation délivrée à l’application et obtenue en authentifiant l’utilisateur auprès d’un serveur d’autorisation. L’utilisateur peut alors, à son tour, autoriser l’application à accéder à l’API en son nom. Pour en savoir plus, veuillez consulter la section Jetons d’accès.
Une API comme l’API des feuilles de temps peut appliquer un contrôle précis sur qui peut accéder aux différents points de terminaison exposés par l’API. Ces autorisations sont exprimées sous la forme de permissions.
Lorsque l’application Web standard d’ExampleCo ou l’application tierce s’authentifie auprès de Auth0 pour obtenir un jeton d’accès, la demande d’authentification inclut la liste des permissions demandées dont l’application a besoin. Si ces permissions sont autorisées, le jeton d’accès contiendra la liste des permissions accordées à l’application.
L’application Web standard ou tierce inclut le jeton d’accès du serveur d’autorisation lors de l’envoi de requêtes à l’API des feuilles de temps, et l’API des feuilles de temps inspecte la demande de permission pour s’assurer que les autorisations requises ont été accordées pour appeler le point de terminaison particulier.
Par exemple, l’API des feuilles de temps peut accepter quatre niveaux d’autorisation différents : lecture des feuilles de temps (permission read:timesheets), création des feuilles de temps (permission create:timesheets), suppression des feuilles de temps (permission delete:timesheets) et approbation des feuilles de temps (permission approve:timesheets).
Pour en savoir plus sur les permissions, consultez la section Permissions.
Lorsque l’application Web standard envoie une demande à l’API des feuilles de temps pour créer une nouvelle entrée de feuille de temps, le jeton d’accès doit contenir la permission create:timesheets, sinon la demande sera refusée. D’une manière similaire, afin de supprimer des feuilles de temps existantes, le jeton d’accès doit contenir la permission delete:timesheets.
Pour en savoir plus, lisez la section Permissions.