OpenID Connect (OIDC) est un protocole d'authentification et d'autorisation qui fonctionne au-dessus du framework OAuth 2.0. L'objectif principal d'OIDC est de standardiser la maniĂšre dont les applications Web et mobiles authentifient les utilisateurs et gĂšrent l'accĂšs Ă leurs ressources protĂ©gĂ©es. Il Ă©tend les capacitĂ©s d'OAuth 2.0 en fournissant une couche d'identitĂ© flexible, interopĂ©rable et sĂ©curisĂ©e qui peut ĂȘtre utilisĂ©e pour transfĂ©rer des informations utilisateur, appelĂ©es « RĂ©clamations ». OIDC a Ă©tĂ© dĂ©veloppĂ© et maintenu par la Fondation OpenID avec le soutien de plusieurs organisations technologiques de premier plan, telles que Google, Microsoft et Facebook.
OIDC est devenu un composant essentiel des solutions modernes d'authentification des utilisateurs car il rĂ©pond Ă plusieurs dĂ©fis clĂ©s rencontrĂ©s par les dĂ©veloppeurs lors de la mise en Ćuvre de schĂ©mas d'authentification personnalisĂ©s. Ces dĂ©fis incluent la gestion sĂ©curisĂ©e du stockage des mots de passe, l'activation de l'authentification unique (SSO) sur plusieurs applications et la prise en charge de l'authentification multifacteur (MFA). En utilisant OIDC, les dĂ©veloppeurs peuvent dĂ©charger les responsabilitĂ©s d'authentification sur des fournisseurs d'identitĂ© (IdP) de confiance, leur permettant ainsi de se concentrer sur les exigences spĂ©cifiques de leurs applications.
Dans un flux OIDC standard, trois rÎles principaux sont impliqués : l'utilisateur, l'application client et le fournisseur d'identité (IdP).
- Utilisateur : l'utilisateur est la personne cherchant à accéder aux ressources protégées d'une application client.
- Application client : l'application client est le logiciel qui nécessite l'accÚs aux informations utilisateur pour exécuter ses fonctions. Dans le contexte de la plateforme AppMaster, il peut s'agir d'une application Web ou mobile créée à l'aide des outils intuitifs no-code de la plateforme.
- Fournisseur d'identitĂ© (IdP) : le fournisseur d'identitĂ© est le serveur chargĂ© d'authentifier l'utilisateur et de gĂ©nĂ©rer les jetons requis pour accĂ©der aux ressources protĂ©gĂ©es. Les IdP peuvent ĂȘtre Google, Apple, Facebook, Microsoft ou tout autre service implĂ©mentant la norme OIDC.
Pour implémenter OIDC, les développeurs suivent généralement une série d'étapes, qui incluent : l'enregistrement de leur application auprÚs de l'IdP choisi, la configuration de l'application client pour inviter les utilisateurs à s'authentifier, la gestion de l'émission de jetons et la gestion de l'échange de jetons pour les informations utilisateur, et enfin la gestion de l'accÚs. et la sécurité de leur application à l'aide des jetons fournis.
OIDC comporte trois éléments de base essentiels : les jetons d'identification, le point de terminaison Userinfo et la découverte. Discutons de chacun d'eux en détail :
- Jetons d'identification : un jeton d'identification est un jeton Web JSON (JWT) qui contient un ensemble de revendications concernant l'utilisateur authentifié. OIDC nécessite un ensemble minimal de revendications standard telles que « sub » (le sujet ou l'identifiant de l'utilisateur), « aud » (le public ou les destinataires prévus) et « iss » (l'émetteur ou l'entité d'identification qui a émis le jeton). Les développeurs peuvent également définir des revendications personnalisées pour représenter des informations utilisateur supplémentaires.
- Point de terminaison Userinfo : le point de terminaison Userinfo est une ressource protégée OAuth 2.0 fournie par l'IdP qui renvoie des réclamations sur l'utilisateur authentifié. Ces revendications sont généralement utilisées par l'application client pour obtenir des informations utilisateur plus détaillées, telles que l'adresse e-mail, le nom complet et la photo de profil.
- DĂ©couverte : OIDC prend en charge la dĂ©couverte dynamique des mĂ©tadonnĂ©es publiĂ©es par les IdP, ce qui permet aux applications clientes de configurer plus facilement les endpoints, les Ă©tendues prises en charge et d'autres informations nĂ©cessaires pour interagir avec l'IdP. Ces mĂ©tadonnĂ©es sont gĂ©nĂ©ralement disponibles sur un endpoint de dĂ©couverte bien connu et peuvent ĂȘtre rĂ©cupĂ©rĂ©es par programme au moment de l'exĂ©cution.
La spécification OIDC définit plusieurs flux standard qui répondent à différents types d'applications, besoins et capacités. Certains des flux les plus populaires sont le flux de code d'autorisation (avec ou sans PKCE), le flux implicite et le flux hybride. Chaque flux répond à des exigences différentes et offre différents degrés de sécurité et de complexité.
Dans le contexte de la plateforme AppMaster, OIDC peut ĂȘtre exploitĂ© pour mettre en Ćuvre une authentification sĂ©curisĂ©e et transparente pour les applications Web, backend et mobiles. En s'intĂ©grant aux IdP populaires, AppMaster permet aux dĂ©veloppeurs de fournir une expĂ©rience d'authentification cohĂ©rente sur plusieurs appareils, plates-formes et applications. De plus, en utilisant OIDC, les applications gĂ©nĂ©rĂ©es par AppMaster bĂ©nĂ©ficient d'une sĂ©curitĂ© accrue, d'un effort de dĂ©veloppement rĂ©duit et d'une expĂ©rience utilisateur amĂ©liorĂ©e, conduisant Ă un processus de dĂ©veloppement d'applications plus rapide, plus sĂ©curisĂ© et plus rentable.
En conclusion, OpenID Connect est un puissant cadre d'authentification et d'autorisation qui est devenu la norme de facto pour l'authentification moderne des utilisateurs dans l'écosystÚme Web et mobile. Grùce à ses fonctionnalités de sécurité robustes et à son interopérabilité, OIDC offre des avantages significatifs tant aux développeurs qu'aux utilisateurs finaux. En intégrant OIDC dans la plateforme AppMaster, les développeurs peuvent fournir des applications de haute qualité avec des processus d'authentification rationalisés, des expériences utilisateur exceptionnelles et l'assurance d'une gestion des accÚs sécurisée et fiable.