Cet article a été initialement publié sur mon blog. Consultez la source originale en utilisant le lien ci-dessous :
L'authentification et l'autorisation sont cruciales pour garantir la sécurité des applications et des données. Trois protocoles largement utilisés pour gérer ces processus sont OAuth, SAML et OpenID.
Lorsque vous utilisez des applications telles que Facebook, Google ou LinkedIn pour vous connecter à d'autres sites Web, vous rencontrez des protocoles importants : OAuth, SAML et OpenID Connect . Ces protocoles aident à sécuriser vos informations tout en vous permettant d'accéder à différents services.
SAML est un standard ouvert pour l'échange de données d'authentification et d'autorisation entre parties, notamment entre un fournisseur d'identité (IdP) et un fournisseur de services (SP). Il est principalement utilisé pour les scénarios d'authentification unique (SSO), permettant aux utilisateurs de s'authentifier une fois et d'accéder à plusieurs applications.
Rôles/Acteurs :
Utilisateur : La personne qui accède aux applications.
Fournisseur d'identité (IdP) : Le service qui authentifie l'utilisateur et fournit les assertions d'identité.
Fournisseur de services (SP) : L'application ou le service auquel l'utilisateur tente d'accéder.
Diagramme de flux de requête :
Authentification unique (SSO) : Les utilisateurs s'authentifient une fois pour plusieurs services.
Basé sur XML : Utilise XML pour les messages, ce qui le rend robuste.
Assertions sécurisées : Transmet l'identité et les attributs de l'utilisateur en toute sécurité.
OAuth est une norme ouverte de délégation d'accès couramment utilisée pour l'authentification et l'autorisation basées sur des jetons. Il permet aux applications tierces d'accéder aux données des utilisateurs sans exposer leurs informations d'identification. OAuth est principalement utilisé pour l'autorisation, permettant aux utilisateurs d'accorder un accès limité à leurs ressources hébergées sur un site à un autre site.
Rôles/Acteurs :
Propriétaire de la ressource : L'utilisateur qui possède les données et y autorise l'accès.
Serveur de ressources : Le serveur hébergeant les données de l'utilisateur (par exemple, Google, Facebook).
Client : L'application tierce demandant l'accès aux données de l'utilisateur.
Serveur d'autorisation : Le serveur responsable de l'émission des jetons d'accès au client après avoir authentifié le propriétaire de la ressource.
Diagramme de flux de requête :
Accès délégué : Les utilisateurs peuvent accorder l'accès sans partager leurs informations d'identification.
Jetons d'accès : Jetons de courte durée qui limitent la durée d'accès.
Étendues : Définir l'étendue de l'accès accordé au client.
OpenID Connect est une couche d'authentification construite sur OAuth 2.0. Il ajoute une vérification d'identité et fournit aux clients un moyen de vérifier l'identité de l'utilisateur en fonction de l'authentification effectuée par un serveur d'autorisation.
Rôles/Acteurs :
Utilisateur final : L'utilisateur qui souhaite s'authentifier.
Client : L'application demandant l'authentification de l'utilisateur.
Serveur d'autorisation : Le serveur qui authentifie l'utilisateur et émet des jetons.
Diagramme de flux de requête :
Jetons d'identification : JWT qui fournissent des informations et des réclamations aux utilisateurs.
Intégration transparente avec OAuth : Combine l'authentification et l'autorisation.
Point de terminaison des informations utilisateur : Permet de récupérer des informations utilisateur supplémentaires.
Cela semble similaire, mais ils servent tous deux à des fins différentes mais complémentaires :
OAuth : utilisé pour l'autorisation. Il permet aux applications d'accéder à des ressources (comme votre profil ou vos photos) à partir d'un autre service (par exemple Facebook ou Google) sans avoir besoin de votre mot de passe. Utilisez OAuth lorsque vous souhaitez accorder un accès limité à vos données (par exemple, une application tierce accédant à votre calendrier).
OpenID Connect (OIDC) : construit sur OAuth, il est utilisé pour l'l'authentification. Il vérifie votre identité et permet aux applications de savoir qui vous êtes. Utilisez OpenID Connect lorsque vous devez vous connecter à un site Web ou à une application à l'aide d'un service comme Google, prouvant ainsi qui vous êtes.
Utiliser OAuth :
Utiliser OpenID Connect :
Fonctionnalité | OAuth | SAML | OpenID Connect |
---|---|---|---|
But | Autorisation | Authentification | Authentification et autorisation |
Format | JSON, jeton | XML | JSON |
Cas d'utilisation | Accès API, applications mobiles | Applications Web, SSO | Applications Web et mobiles |
Complexité | Modéré | Haut | Modéré |
Expérience utilisateur | Redirections vers IdP | Redirections vers IdP | Redirections vers le serveur d'autorisation |
Comprendre OAuth, SAML et OpenID Connect est essentiel pour créer des applications sécurisées qui gèrent efficacement l'authentification et l'autorisation des utilisateurs. Chaque protocole a son objectif : vous garantir l'accès à ce dont vous avez besoin tout en protégeant vos données.
OAuth 2.0 expliqué simplement
Qu'est-ce que SAML ?
Présentation d'OpenID Connect
Comprendre les différences : OAuth, SAML et OpenID Connect
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3