Présentation du processus OAuth

Oauth (Open Authorization) est un protocole d’authentification qui permet aux utilisateurs de limiter l’accès à leurs ressources stockées sur un site Web ou une application donné(e) à un autre site Web ou une autre application, sans partager leurs véritables identifiants de connexion.

OAuth fait office d’intermédiaire de confiance qui vous permet d’autoriser un service à accéder à vos données à partir d’un autre service sans avoir à partager votre nom d’utilisateur et votre mot de passe. Ce document comprend une explication technique du flux de travail OAuth et une analogie pratique de ce processus.

Flux de travail OAuth

OAuth fournit aux utilisateurs un moyen sécurisé et normalisé de rendre leurs données accessibles sur différents sites Web et applications sans avoir à partager leurs identifiants de connexion. Il vous permet de contrôler les services qui peuvent accéder à vos données et de révoquer l’accès à tout moment.

La liste suivante décrit en détail le fonctionnement d’OAuth.

Vous (l’utilisateur) souhaitez utiliser un site Web ou une application (appelé(e) le « client ») qui doit accéder à vos données sur un autre site Web ou une autre application (appelé(e) le « serveur de ressources »).

Le client demande au serveur de ressources l’autorisation d’accéder à vos données. Il le fait généralement en vous redirigeant vers la page de connexion du serveur de ressources.

Vous saisissez vos identifiants de connexion directement sur la page de connexion du serveur de ressources. Cette étape est cruciale car votre nom d’utilisateur et votre mot de passe ne sont jamais communiqués au client.

Le serveur de ressources vérifie vos identifiants et vous authentifie. Une fois authentifié, il génère un jeton d’accès unique pour le client.

Le serveur de ressources vous redirige vers l’application client, en fournissant le jeton d’accès pendant la redirection.

Le client reçoit le jeton d’accès et l’envoie au serveur de ressources chaque fois qu’il doit accéder à vos données.

Le serveur de ressources vérifie la validité du jeton d’accès. Si le jeton est valide, il permet au client d’accéder aux ressources demandées pendant une période limitée.

Le client peut utiliser l’autorisation qui lui est accordée pour récupérer ou modifier vos données sur le serveur de ressources, mais uniquement dans les limites définies par le jeton d’accès. Cette étendue détermine les actions et les données auxquelles le client peut accéder.

Si le jeton d’accès expire ou si le client a besoin d’autorisations supplémentaires, il peut demander un nouveau jeton d’accès en reprenant le processus d’authentification.

Analogie pratique du processus OAuth

Voici une analogie du fonctionnement d’OAuth à l’aide d’un scénario pratique.

Imaginez que vous organisiez une fête et que vous souhaitiez engager un traiteur (le client) pour s’occuper de la nourriture. Cependant, vous ne voulez pas donner au traiteur les clés de votre maison (vos identifiants de connexion), car cela lui donnerait accès à tous vos effets personnels. Vous faites donc appel à un organisateur de fête fiable (OAuth) pour s’occuper de l’accès.

Vous lui dites que vous souhaitez engager un traiteur. Il sait comment gérer l’accès à votre maison et les services du traiteur.

Il communique avec le traiteur et l’envoie chez vous pour un rendez-vous. Vous n’êtes pas à la maison pour le moment.

Le traiteur arrive chez vous, mais se rend compte qu’il ne peut pas entrer sans votre autorisation (jeton d’accès). Il vous appelle pour vous demander comment y accéder.

En tant que propriétaire, vous devez vérifier la crédibilité du traiteur avant de lui accorder l’accès. Vous lui posez alors quelques questions pour confirmer son identité (authentification).

Après avoir vérifié ses références, vous lui donnez un code d’accès temporaire (jeton d’accès) par téléphone. Ce code lui permet d’entrer chez vous et de préparer la nourriture, mais sans dépasser le cadre de sa fonction de traiteur.

Le traiteur pénètre chez vous à l’aide du code d’accès et commence à préparer la nourriture. Il peut accéder à la cuisine et à la salle à manger, mais n’a pas le droit d’entrer dans les autres pièces.

Après une période donnée ou à la fin de la soirée, le code d’accès expire, empêchant ainsi le traiteur de pénétrer à nouveau chez vous sans votre autorisation.

Dans ce scénario, vous (le propriétaire) êtes l’utilisateur, le traiteur est l’application client, votre maison représente vos données personnelles sur le serveur de ressources, et l’organisateur de la fête est OAuth.

Le code d’accès sert de jeton d’accès, permettant au client (traiteur) d’avoir un accès limité à vos ressources (maison) sans compromettre vos identifiants de connexion (clés de la maison).

OAuth fait office d’intermédiaire de confiance, en facilitant le partage sécurisé de vos données entre les services tout en gardant le contrôle sur les autorisations d’accès.