169 votes

Quelle est la différence entre OpenID et SAML?

Quelle est la différence entre OpenID et SAML?

185voto

Wiktor Zychla Points 23918

Ils sont les deux protocoles d'authentification et ils diffèrent au niveau technique.

À partir d'une distance, les différences commencent lorsque l'utilisateur de lancer l'authentification. Avec OpenID, un identifiant de l'utilisateur est généralement l'adresse HTTP de la ressource qui est responsable de l'authentification. D'autre part, SAML est basé sur une approbation explicite entre votre site et le fournisseur d'identité de sorte qu'il est plutôt rare d'accepter des références à partir d'un site inconnu.

OpenID identités sont faciles à obtenir sur le net. En tant que développeur, vous pouvez simplement accepter utilisateurs venant de très différents fournisseurs OpenID. D'autre part, un fournisseur SAML généralement être codé à l'avance et vous fédérez votre application avec seulement sélectionné les fournisseurs d'identité. Il est possible de limiter la liste des accepté identité OpenID fournisseurs, mais je pense que ce serait contre le général OpenID concept.

Avec OpenID vous accepter des identités à venir de l'arbitraire des serveurs. Quelqu'un prétend être http://someopenid.provider.com/john.smith. Comment allez-vous ce match avec un utilisateur de votre base de données? D'une certaine manière, par exemple en stockant ces informations avec un nouveau compte et la reconnaissance de ce lorsque l'utilisateur visite votre site à nouveau. Notez que toutes les autres informations sur l'utilisateur (y compris son nom ou e-mail) ne peut pas être digne de confiance!

D'autre part, s'il y a une approbation explicite entre votre application et le SAML Id de Fournisseur, vous pouvez obtenir des renseignements complets sur l'utilisateur, y compris le nom et l'email, et cette information peut être de confiance, juste à cause de la relation de confiance. Cela signifie que vous avez tendance à croire que l'Id de Fournisseur en quelque sorte validé toutes les informations et vous pouvez lui faire confiance au niveau de l'application. Si les utilisateurs viennent avec des jetons SAML émis par un inconnu fournisseur de votre application refuse juste de l'authentification.

93voto

OpenID et grâce à saml2! sont basés sur le même concept de l'identité fédérée. Suivants sont quelques-uns de la différence entre eux..

  1. Grâce à saml2! prend en charge la connexion unique - le, mais OpenID n'est pas
  2. Service saml2 fournisseurs sont couplés avec la grâce à saml2! des Fournisseurs d'Identité, mais OpenID parties de confiance ne sont pas couplés avec OpenID Fournisseurs. OpenID est un protocole de découverte de manière dynamique, découvre le correspondant Fournisseur OpenID, une fois un OpenID est donné. SAML est un protocole de découverte basés sur l'Identité du Fournisseur de Service de Découverte Le protocole.
  3. Avec grâce à saml2!, l'utilisateur est couplé à de la grâce à saml2! IdP - votre grâce à saml2! identificateur n'est valable que pour les grâce à saml2! de Déplacés qui l'a délivré. Mais avec OpenID, vous êtes propriétaire de votre identifiant et vous pouvez l'associer à tout Fournisseur OpenID vous le souhaitez.
  4. Grâce à saml2! a différentes reliures alors que la seule liaison OpenID a est HTTP
  5. Grâce à saml2! peut être soit le Fournisseur de Service (SP) de l'initié ou de Fournisseur d'Identité (IdP) initié. Mais OpenID toujours SP initié.
  6. SAML 2 est basé sur XML OpenID n'est pas.

1voto

Nicholas Points 50

@Prabath: OpenID prend en charge la connexion unique.

Par la question: OpenID permet à l'utilisateur d'authentification centralisée via les fournisseurs d'identité (IdP) à travers de multiples sites web de confiance ou de parties de confiance (RP). Lorsqu'un utilisateur est authentifié, il ou elle peut se déplacer librement entre les multiples compatible OpenID sites web sans avoir à ré-entrer leurs informations d'identification.

SAML est une industrie standard ouvert basé sur XML pour l'échange d'authentification de l'utilisateur et les informations d'autorisation (les assertions de sécurité) entre les fournisseurs et les consommateurs.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X