Please enable JavaScript.
Coggle requires JavaScript to display documents.
OAuth 2.0 (les roles (Le détenteur des données (Resource Owner) :…
OAuth 2.0
les roles
-
Le serveur de ressources (Resource Server) : serveur qui héberge les données dont l’accès est protégé (par exemple Google qui stocke les informations de votre profil).
Le client (Client Application) : une application demandant des données au serveur de ressources (cela peut être votre application PHP côté serveur, une application Javascript côté client ou une application mobile par exemple).
Le serveur d’autorisation (Authorization Server) : serveur qui délivre des tokens (ou jetons) au client. Ces tokens seront utilisés lors des requêtes du client vers le serveur de ressources. Ce serveur peut être le même que le serveur de ressources (physiquement et applicativement), et c’est souvent le cas.
-
pour obtenir un accès limité à un service HTTP, soit sur
-
entre le propriétaire de la ressource et le service HTTP, ou en autorisant le
-
-
-
Les tokens
2 type
Le token d’accès (Access Token) : c’est le plus important car c’est lui qui permet au serveur de ressources d’autoriser la mise à disposition des données d’un utilisateur. Ce token est envoyé par le client (l’application) en tant que paramètre ou en tant que header dans la requête vers le serveur de ressources. Il a une durée de vie limitée qui est définie par le serveur d’autorisation. Il doit rester confidentiel dès que possible (non connu du détenteur de ressources) mais on verra que ce n’est pas toujours possible, notamment lorsque c’est votre navigateur qui envoie les requêtes au serveur de ressources via Javascript.
Le token de renouvellement (Refresh Token) : ce token est délivré au même moment que le token d’accès mais n’est en revanche pas envoyé lors de chaque requête du client vers le serveur de ressources. Il sert simplement à être envoyé au serveur d’autorisation lorsque le token d’accès est expiré et que le client souhaite le renouveler. Pour des raisons de sécurité, il n’est pas tout le temps possible de disposer de ce token pour générer un nouveau token d’accès quand celui-il est expiré. Nous verrons plus loin dans quels cas.
Le paramètre scope
Le scope est un paramètre qui sert à limiter les droits du token d’accès. C’est le serveur d’autorisation qui définit la liste des scopes disponibles. Le client doit alors envoyer le ou les scopes qu’ils souhaitent utiliser lors de la demande d’autorisation. Plus le scope est réduit, plus on a de chance que le détenteur des données autorise l’accès.
HTTPS
OAuth2 impose l’utilisation de HTTPS pour les échanges entre le client et le serveur d’autorisation du fait des données sensibles qui transitent entre les 2 (token d’accès et éventuellement des identifiants et des mots de passe). Dans les faits rien ne vous oblige à le faire si vous mettez en place votre propre serveur d’autorisation mais sachez que vous ouvrez là une grosse faille de sécurité dans votre application.
-