OIDC

OIDC en bref (page générée par ChatGPT)

🔐 OpenID Connect (OIDC) est un protocole d’authentification construit sur OAuth 2.0.

  • OAuth2 → autorise une appli à accéder à des ressources pour un utilisateur.
  • OIDC → ajoute la vérification de l’identité de l’utilisateur.

👉 Il permet donc le Single Sign-On (SSO) et la délégation d’authentification (ex. “Se connecter avec Google”).

🎯 À quoi ça sert

OIDC permet à une application de :

  • s’appuyer sur un fournisseur d’identité (IdP) (Google, Azure AD, Keycloak, etc.) ;
  • authentifier l’utilisateur sans gérer les mots de passe ;
  • récupérer des informations standardisées (nom, email, etc.) via des claims.

C’est la base moderne de l’authentification web, mobile et API.

⚙️ Fonctionnement simplifié

Trois acteurs :

  • Relying Party (RP) → ton application
  • OpenID Provider (OP) → le serveur d’identité
  • User Agent → le navigateur ou app de l’utilisateur

🔄 Authorization Code Flow (le plus courant)

  1. L’utilisateur accède à l’application (RP).
  2. Celle-ci le redirige vers l’OP avec une requête (scope=openid).
  3. L’utilisateur s’authentifie.
  4. L’OP renvoie un code d’autorisation à la RP.
  5. La RP échange ce code contre :
    • un Access Token (pour les API),
    • un ID Token (pour l’identité).
  6. La RP valide l’ID Token et authentifie l’utilisateur localement.

🧾 Le ID Token (JWT)

Un JWT signé contenant l’identité de l’utilisateur, ex. :

{
  "iss": "https://accounts.google.com",
  "sub": "248289761001",
  "aud": "my-client-id",
  "email": "alice@example.com",
  "exp": 1697450183
}
  • iss → fournisseur
  • sub → identifiant unique de l’utilisateur
  • aud → destinataire (ton appli)
    • divers claims (email, name, etc.)

🧱 Points clés

  • OIDC = OAuth2 + identité
  • Authentifie sans mot de passe local
  • Fournit un ID Token (JWT) vérifiable
  • Compatible SSO, MFA, et multi-applications
  • Standard ouvert adopté par tous les grands fournisseurs

À retenir

  1. OAuth 2.0 = Framework d’autorisation (donner accès à des ressources)
  2. OIDC = Couche d’authentification construite sur OAuth 2.0 (identifier l’utilisateur)

Analogie simple

  • OAuth2 : « Cette app peut accéder à tes photos » (autorisation)
  • OIDC : « Tu es bien Jean Dupont » (authentification) + « Cette app peut accéder à tes photos »

Voir aussi

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *