Skip to content

Module 1 — Qu'est-ce qu'OAuth ?

Bonne lecture et bon apprentissage ! Junior TSAFACK – 12/09/2026 Temps de lecture estimé : 6 minutes


Imaginez une application de retouche photo qui propose : « Importez vos photos depuis Google Photos ». Sans OAuth, une seule solution existerait : donner votre mot de passe Google à cette application. Elle pourrait alors :

  • Lire absolument tous vos emails, vos contacts, votre agenda — bien plus que vos photos.
  • Garder ce mot de passe indéfiniment, sans que vous puissiez révoquer uniquement cet accès.
  • Si elle est piratée, exposer votre compte Google complet, pas juste vos photos.

C’est exactement le problème qu’un ingénieur de Twitter (aujourd’hui X) a rencontré en 2006 en développant une fonctionnalité d’import de contacts — et qui a mené, avec des ingénieurs de Google et d’autres, à la création d’OAuth (Open Authorization).

L’idée : déléguer une autorisation, pas s’authentifier

Section titled “L’idée : déléguer une autorisation, pas s’authentifier”
Sans OAuth : "Voici mon mot de passe Google, fais ce que tu veux avec mon compte."
Avec OAuth : "Voici un jeton qui te permet UNIQUEMENT de lire mes photos, valable 1h,
que je peux révoquer à tout moment sans changer mon mot de passe."

OAuth répond à une question précise : comment un utilisateur peut-il autoriser une application tierce à agir en son nom, auprès d’un service qu’il utilise déjà, sans jamais lui révéler son mot de passe ?

Pour bien démarrer, gardons une version simplifiée à 3 rôles — nous verrons le vocabulaire officiel exact au Module 2 :

Rôle simplifié Qui c’est Exemple
User Vous, le propriétaire du compte Vous, sur l’app de retouche photo
Server L’application qui veut accéder à vos données L’app de retouche photo
IdP (Identity Provider) Le service qui connaît réellement votre identité et vos données Google

Le dialogue qu’on peut imaginer entre le Server et Google (IdP) résume tout OAuth :

Server : « Je veux que l’utilisateur se connecte, mais je ne veux pas gérer encore un mot de passe. » Google : « J’ai déjà ses données. Quand un utilisateur veut se connecter, envoie-le moi. Je peux valider ses identifiants. » Server : « Parfait ! Valide juste son identité et donne-moi quelques infos (email…). » Google : « D’accord. Ensuite, en fonction de ces infos, tu décides ce à quoi tu donnes accès… » Server : « Comme ça, l’utilisateur n’a plus besoin d’un mot de passe de plus ! » Google : « Et si l’utilisateur donne son consentement, tu peux aussi agir sur son compte. »

C’est ce principe — déléguer la vérification d’identité et l’octroi d’accès à un tiers de confiance — qui permet à un seul compte Google, GitHub ou Microsoft de donner accès à des dizaines de services différents (Foo, Bar, Qux…) sans jamais leur communiquer le moindre mot de passe.

Version Ce qu’elle visait
OAuth 1.0 (2010) Protocole conçu uniquement pour les navigateurs web. Chaque requête devait être signée cryptographiquement (complexe à implémenter correctement).
OAuth 2.0 (2012, RFC 6749) Refonte complète pour couvrir les applications web, applications non-navigateur, applications mobiles, applications de bureau, et les API. Repose sur HTTPS plutôt que sur des signatures par requête — plus simple, mais qui déplace la responsabilité de la sécurité vers le bon usage du protocole (voir Module 5).

OAuth 2.0 est la version quasi-universellement utilisée aujourd’hui — c’est celle que couvre tout le reste de ce cours.

Module 2 : Le vocabulaire officiel et les 4 types de flux