OpenID Connect (OIDC)
OpenID Connect (OIDC) est un protocole d’authentification ouvert qui fonctionne en plus du modèle OAuth 2.0. Ciblant les consommateurs, OIDC permet à des individus d’utiliser le single sign-on (SSO) pour accéder à des sites de parties utilisatrices en ayant recours à des fournisseurs OpenId (OP), tels qu’un fournisseur d’email ou un réseau social pour authentifier leur identité. Il fournit à l’application ou au service des informations sur l’utilisateur, le contexte de leur authentification et l’accès à leurs informations de profil.
Le but d’OIDC est de permettre aux utilisateurs de fournir une paire d’identifiants pour accéder à de multiples sites. À chaque fois qu’un utilisateur se connecte à une application ou à un service avec OIDC, il est redirigé vers son fournisseur OpenID, où il s’authentifie avant d’être redirigé vers l’application ou le service.
OIDC est l’un des protocoles de sécurité les plus récents et a été conçu pour protéger des applications basées sur un navigateur, des API et des applications mobiles natives. Il délègue l’authentification d’un utilisateur au fournisseur de service qui héberge le compte utilisateur et autorise des applications tierces à accéder au compte de l’utilisateur.
Par exemple, il existe actuellement deux façons de créer un compte Spotify. Vous pouvez vous inscrire sur Spotify ou vous pouvez vous connecter par le biais de Facebook. Facebook envoie votre nom et votre adresse électronique à Spotify, qui utilise ces informations pour vous authentifier.
Fonctionnement de OIDC
OIDC ressemble à OAuth puisque les utilisateurs donnent à une application la permission d’accéder à des données sur une autre application sans devoir fournir leur nom d’utilisateur et leur mot de passe. Au lieu de cela, des jetons sont utilisés pour réaliser les processus d’authentification et d’autorisation :
- Les jetons d’identité, qui doivent être lus par le client, prouvent que les utilisateurs ont été authentifiés et qu’il s’agit de JWT JSON Web Tokens, prononcés « jots ». Ces fichiers contiennent des informations sur l’utilisateur, comme son nom d’utilisateur, le moment où il essayé de se connecter à l’application ou au service et la durée pendant laquelle il est autorisé à accéder aux ressources en ligne.
- Les jetons d’accès sont utilisés pour accéder à des ressources protégées, qui visent à être lues et validées par l’API. Ces jetons peuvent être des JWT ou être dans un format différent. Leur but est d’informer l’API que le porteur de ce jeton a été autorisé à accéder à l’API et réaliser des actions spécifiques (comme précisé dans la portée ayant été accordée).
- Les jetons d’ID ne peuvent pas être utilisé pour accéder à des API et les jetons d’accès ne peuvent pas être utilisés pour s’authentifier. Le diagramme ci-dessous montre comment fonctionne un processus d’authentification OIDC typique.
- L’utilisateur essaye d’accéder à une application ou un service hébergé par la partie utilisatrice (RP) à l’aide de l’ID du client, qui identifie de manière unique l’application ou le service.
- La RP redirige l’utilisateur vers son OP pour s’authentifier.
- L’utilisateur fournit ses identifiants à l’OP.
- L’OP valide les identifiants de l’utilisateur et l’autorise à accéder à l’application ou au service, et crée un jeton d’identité qui contient des informations sur l’authentification de l’utilisateur et se présente sous la forme de requêtes.
- L’OP envoie une assertion qui contient le jeton d’identité pour confirmer l’authentification et le jeton d’accès qui précise les permissions de l’utilisateur.
- L’utilisateur est autorisé à accéder à l’application ou au service.
Différences entre SAML, OAuth et OpenID Connect
La différence principale entre ces standards est le fait que OAuth est une structure d’autorisation utilisée pour protéger des ressources spécifiques, comme des applications ou des ensembles de fichiers, tandis que SAML et OIDC sont des standards d’authentification utilisés pour créer des expériences de connexion sécurisées.
D’autres différences incluent :
- Le SAML est connu pour sa flexibilité, mais la plupart des développeurs trouvent que l’OIDC est plus simple à utiliser car il est moins complexe.
- Le SAML est utilisé pour accéder à des applications basées sur un navigateur et ne prend pas en charge le SSO pour les appareils mobile et ne fournit pas d’accès aux API. OAuth fournit un accès aux API et OIDC fournit un accès aux API, aux applications natives mobiles et aux applications basées sur un navigateur.
- OIDC vérifie l’identité d’une personne. OAuth 2.0 porte sur ce qu’il est autorisé à faire.
- SAML utilise des jetons écrits en XML et OIDC utilise les JWT, qui sont portables et compatibles avec un éventail de signatures et d’algorithmes de chiffrement.
Lancez-vous dès Aujourd'hui
Contactez-Nous
Découvrez comment Ping peut vous aider à offrir des expériences sécurisées aux employés, partenaires et clients dans un monde numérique en constante évolution.