"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > SAML contre OAuth contre OpenID Connect

SAML contre OAuth contre OpenID Connect

Publié le 2024-11-06
Parcourir:113

Cet article a été initialement publié sur mon blog. Consultez la source originale en utilisant le lien ci-dessous :

SAML vs. OAuth vs. OpenID Connect

SAML contre OAuth contre OpenID Connect

Cet article explorera SAML, OAuth et OpenID Connect, leurs cas d'utilisation et la manière dont ils interagissent les uns avec les autres.

SAML vs. OAuth vs. OpenID Connect rahulvijayvergiya.hashnode.dev

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.

1. SAML (langage de balisage d'assertion de sécurité)

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.

Comment fonctionne SAML

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 :

SAML vs. OAuth vs. OpenID Connect

Principales fonctionnalités de SAML

  • 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é.


2. OAuth (autorisation ouverte)

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.

Comment fonctionne OAuth

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 :

SAML vs. OAuth vs. OpenID Connect

Principales fonctionnalités d'OAuth

  • 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.


3. OpenID Connect

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.

Comment fonctionne OpenID Connect

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 :

SAML vs. OAuth vs. OpenID Connect

Principales fonctionnalités d'OpenID Connect

  • 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.

OpenID Connect et OAuth

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.

Quand utiliser :

  • Utiliser OAuth :

    • Lorsque vous souhaitez qu'une application accède à des données ou à des ressources en votre nom (par exemple, une application publiée sur Twitter pour vous).
    • "Cette application peut-elle accéder à mes données ?" (Autorisation)
  • Utiliser OpenID Connect :

    • Lorsque vous devez vérifier l'identité d'un utilisateur (par exemple, en vous connectant à un site Web à l'aide de votre compte Google).
    • "Qui est cet utilisateur ?" (Authentification)

Comparaison rapide d'OAuth, SAML et 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

Conclusion

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.

Références

  1. OAuth 2.0 expliqué simplement

  2. Qu'est-ce que SAML ?

  3. Présentation d'OpenID Connect

  4. Comprendre les différences : OAuth, SAML et OpenID Connect

Déclaration de sortie Cet article est reproduit sur : https://dev.to/rahulvijayvergiya/saml-vs-oauth-vs-openid-connect-29m4?1 En cas d'infraction, veuillez contacter [email protected] pour le supprimer.
Dernier tutoriel Plus>

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