JWT和SAML之间的区别?

时间:2014-12-05 10:43:23

标签: saml jwt

JWT(Json Web Token)和SAML之间的主要区别是什么?请告诉我任何有弹簧安全性的例子。提前谢谢。

3 个答案:

答案 0 :(得分:48)

SAMLJWT都是安全令牌格式,不依赖于任何编程语言。 SAML是较旧的格式,基于XML。它常用于SAML-P,WS-Trust和WS-Federation等协议(虽然不是严格要求)。

JWT(JSON Web令牌)令牌基于JSON,用于新的身份验证和授权协议,如OpenID Connect和OAuth 2.0。

答案 1 :(得分:5)

其他信息是SAML是协议和令牌格式,但JWT是唯一的令牌格式。

答案 2 :(得分:0)

两者均用于在各方之间交换身份验证和授权数据,但格式不同。 SAML是一种标记语言(如XML),而JWT是JSON。

SAML S 安全性 A 序列 M arkup L ”语言”是一种开放标准,用于在安全域之间交换身份验证和授权数据,即 IdP Id 实体 P 提供者)和 SP S 服务 P 提供者)。

  • IdP Id 实体 P 提供者):对用户进行身份验证,如果成功,则向服务提供商提供身份验证声明。身份提供商提供用户身份验证即服务 .S
  • A SP S 服务 P 提供者):依靠身份提供者来认证用户。

SAML in Auth0

JWT J SON W eb T oken)是开放标准(RFC 7519),它定义了一种紧凑且自成体系的方式,用于在各方之间安全地将信息作为JSON对象传输。由于此信息是经过数字签名的,因此可以被验证和信任。可以使用秘密(使用HMAC算法)对JWT进行签名,也可以使用RSA对公钥/私钥对进行签名。

JWT in Auth0

Usecase

  

SAML解决的最重要的单个用例是Web浏览器单点登录(SSO,即登录一次即可获得令牌,而无需登录其他服务)。在安全域内(例如使用cookie)相对容易完成单点登录,但是在安全域内扩展SSO则更加困难,并且导致不可互操作的专有技术的泛滥。已指定并标准化了SAML Web浏览器SSO配置文件以促进互操作性。 (作为比较,较新的OpenID Connect协议是Web浏览器SSO的替代方法。)ID Token(在代码示例中通常称为id_token)是一个JSON Web令牌(JWT),其中包含用户个人资料信息。