IREX - SÉCURITÉ DES APPLICATIONS AVEC OIDC

OpenID Connect (OIDC) est un protocole d’authentification développé par l’OpenID Foundation, qui comprend des entreprises telles que Microsoft et Google.

 · 3 min read

C'EST QUOI L'OIDC
  1. Introduction

    Dans cet article nous allons aborder le principe OIDC : OpenID Connect. Nous allons présenter les bases commençant par sa définition jusqu'à la notion de flux en passant par son principe.

  2. Qu'est-ce qu’OpenID Connect (OIDC) ?

    OpenID Connect ou OIDC est un protocole d'identité qui utilise les mécanismes d'autorisation et d'authentification d’OAuth 2.0 qui a été développé par l’OpenID Foundation, qui comprend des sociétés comme Google et Microsoft. Alors qu’OAuth 2.0 est un protocole d'autorisation, L’ OIDC a été développé pour fonctionner avec l’autorisationouverte (OAuth) en fournissant une couche d'authentification qui sert à vérifier l'identité d'un utilisateur d'un service client, également appelé Partie de confiance.

  3. Quel est le principe d'OpenID Connect ?

    Le fournisseur OIDC (généralement appelé fournisseur OpenID ou fournisseur d'identité ou IdP) procède à l'authentification de l'utilisateur, à son consentement et à l'émission de jetons. Le client ou le service qui demande l'identité d'un utilisateur est généralement appelé Partie de confiance (RP). Il peut s'agir, par exemple, d'une application Web, mais aussi d'une application JavaScript ou d'une application mobile.

    S'appuyant sur OAuth 2.0, OpenID Connect utilise des jetons pour fournir une couche d'identité simple et intégrée au cadre d'autorisation sous-jacent. Cette intégration implique l'utilisation des types de jetons suivants :

    • Jeton d'identification : Spécifique à l'OIDC, ce jeton au format JWT sert principalement à fournir des informations sur le résultat de l'opération d'authentification.
    • Jeton d'accès : Défini dans OAuth2, ce jeton (facultatif) à courte durée de vie permet d'accéder à des ressources utilisateur spécifiques.
    • Jeton d'actualisation : Issu des spécifications OAuth2, ce jeton a généralement une longue durée de vie. Il peut être utilisé pour obtenir de nouveaux jetons d'accès.

    Les jetons d'identification doivent être signés numériquement pour éviter toute falsification. Ils peuvent être chiffrés pour assurer une confidentialité supplémentaire, bien que, dans de nombreux cas, la sécurité de la couche de transport (HTTPS) soit suffisante.

  4. Notion de Flux OIDC !

    Les flux OIDC sont des chemins d’accès pour obtenir des jetons d’identification. Le choix du flux OpenID Connect dépend du type d'application et de ses exigences en matière de sécurité. Selon le cas Il existe trois flux courants :

    • Flux implicite : Un flux implicite est conçu pour les applications basées sur un navigateur qui n’ont pas de back-end, telles que celles utilisant JavaScript.
    • Flux de code d’autorisation : Ce type de flux fonctionne en échangeant un code d’autorisation contre des jetons. Il est plus sécurisé que les flux implicites, car les jetons ne sont pas renvoyés directement au client.
    • Flux hybride : Le flux hybride combine des flux implicites et d’autorisation, renvoyant le jeton d’identification directement au client, mais pas le jeton d’accès.
  5. Conclusion

    La sécurité des application de nos jours ne peut se faire sans faire intervenir les notions d'OAuth et ou d'OpenID Connect. L'un des outils le plus utilisé est pour ce faire est Keycloak car il présente l'avantage d'être open source.


TAMBOU DJOMOU FRANCK DONALD

Alternant DevOps Engineer

No comments yet

No comments yet. Start a new discussion.

Add Comment