Présentation d’OAuth

OAuth (Open Authorization) est un protocole d’authentification qui permet aux utilisateurs d’accorder un accès limité à leurs ressources sur un site Web ou une application à un autre site Web ou une autre application, sans partager leurs informations de connexion réelles.

OAuth agit comme un intermédiaire de confiance qui vous permet d’autoriser un service à accéder à vos données à partir d’un autre service sans révéler votre nom d’utilisateur et votre mot de passe. Ce document comprend une explication technique du flux de travail OAuth et un exemple concret d’analogie pour OAuth.

Flux de travail OAuth

OAuth offre aux utilisateurs un moyen sécurisé et standardisé d’accorder l’accès à leurs données sur différents sites Web et applications sans partager leurs informations de connexion. Grâce à lui, vous avez l’assurance de contrôler les services qui peuvent accéder à vos données et vous pouvez révoquer l’accès à tout moment.

La liste suivante est une explication étape par étape du fonctionnement d’OAuth.

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

Le client demande l’autorisation d’accéder à vos données depuis le serveur de ressources. Pour ce faire, il vous redirige généralement 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 partagés avec le client.

Le serveur de ressources vérifie vos informations d’identification et vous authentifie. Une fois que vous êtes 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 ainsi que la redirection.

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

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

Le client peut utiliser l’accès accordé pour récupérer ou modifier vos données sur le serveur de ressources, mais uniquement dans la portée définie par le jeton d’accès. La portée 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, le client peut demander un nouveau jeton d’accès en suivant à nouveau le processus d’authentification.

Exemple concret d’analogie pour OAuth

Ce qui suit est une analogie du fonctionnement d’OAuth à l’aide d’un scénario pratique.

Imaginez que vous organisez une fête et que vous souhaitez embaucher un traiteur (le client) pour gérer la nourriture. Cependant, vous ne souhaitez pas donner au traiteur les clés de votre maison (vos identifiants de connexion) car cela lui donnerait accès à toutes vos affaires personnelles. Vous utilisez donc un organisateur de fête de confiance (OAuth) pour gérer l’accès.

Vous dites à l’organisateur de la fête que vous souhaitez faire appel à un traiteur. L’organisateur de la fête sait gérer l’accès à votre maison et les services du traiteur.

L’organisateur de la fête contacte le traiteur et l’envoie chez vous pour un rendez-vous. Vous n’êtes pas chez vous à ce stade.

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 demander l’accès.

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

Une fois que vous êtes satisfait des identifiants du traiteur, vous lui donnez un code d’accès temporaire (jeton d’accès) par téléphone. Ce code leur permet d’entrer dans votre maison et de préparer la nourriture mais uniquement dans le cadre de leurs fonctions de restauration.

Le traiteur entre dans votre maison à l’aide du code d’accès et commence à préparer les plats. Il peut accéder à la cuisine et à la salle à manger, mais ne peut pas entrer dans les autres pièces.

Après une période déterminée ou à la fin de la fête, le code d’accès expire, garantissant que le traiteur ne pourra plus entrer dans votre maison 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, accordant au client (traiteur) un accès limité à vos ressources (maison) sans compromettre vos identifiants de connexion (clés de la maison).

OAuth agit comme un intermédiaire de confiance, facilitant le partage sécurisé de vos données entre différents services tout en gardant le contrôle des autorisations d’accès.