web-dev-qa-db-fra.com

Différence entre JWT et SAML?

Quelle est la principale différence entre JWT (Json Web Token) et SAML? S'il vous plaît, suggérez-moi un exemple de ceux-ci avec sécurité au printemps. Merci d'avance.

29
Jamsheer

Les deux SAML et JWT sont des formats de jeton de sécurité qui ne dépendent d'aucun langage de programmation. SAML est l'ancien format et est basé sur XML. Il est couramment utilisé dans des protocoles tels que SAML-P, WS-Trust et WS-Federation (bien que cela ne soit pas strictement requis).

Les jetons JWT (JSON Web Token) sont basés sur JSON et utilisés dans les nouveaux protocoles d'authentification et d'autorisation tels que OpenID Connect et OAuth 2.0.

44
MvdD

Des informations supplémentaires sont que SAML est un protocole et un format de jeton mais JWT est le seul format de jeton.

5
Jamsheer

Les deux sont utilisés pour l'échange de données d'authentification et d'autorisation entre les parties, mais dans un format différent. SAML est un langage de balisage (comme XML) et JWT est un JSON.

SAML (S ecurity A insertion M arkup L anguage) est une ouverture norme d'échange de données d'authentification et d'autorisation entre les parties, en particulier entre un IdP (Id entité P rovider) et un SP (S ervice P rovider) et les protocoles d'identité utilisés dans les déploiements d'entreprise.

  • Un IdP (Id entité P rovider): authentifie les utilisateurs et fournit aux fournisseurs de services une assertion d'authentification en cas de succès;
  • Un SP (S ervice P rovider): s'appuie sur le fournisseur d'identité pour authentifier les utilisateurs. 

SAML in Auth0

JWT (J SON W eb T oken) est un standard ouvert (RFC 7519) qui définit une manière compacte et autonome pour la transmission sécurisée d’informations entre les parties en tant qu’objet JSON. Ces informations peuvent être vérifiées et approuvées car elles sont signées numériquement. Les JWT peuvent être signés à l'aide d'un secret (avec l'algorithme HMAC) ou d'une paire de clés publique/privée à l'aide de RSA.

JWT in Auth0

Cas d'utilisation

Le cas d'utilisation le plus important des adresses SAML est l'authentification unique du navigateur Web (SSO, c'est-à-dire, connectez-vous une fois et obtenez un jeton sans avoir à vous connecter à d'autres services). La connexion unique est relativement facile à réaliser dans un domaine de sécurité (à l'aide de cookies, par exemple), mais il est plus difficile d'étendre la connexion unique à plusieurs domaines de sécurité, ce qui a entraîné la prolifération de technologies propriétaires non interopérables. Le profil SSO du navigateur Web SAML a été spécifié et normalisé pour promouvoir l’interopérabilité. (À titre de comparaison, le protocole OpenID Connect le plus récent est une approche alternative à la connexion unique de navigateur Web.) Le ID Token , généralement appelé id_token dans les exemples de code, est un jeton Web JSON (JWT) contenant l'utilisateur. Informations sur le profil.

0
Premraj