JWT(Json Web Token)和SAML之间的主要区别是什么?请告诉我任何有弹簧安全性的例子。提前谢谢。
答案 0 :(得分:48)
SAML和JWT都是安全令牌格式,不依赖于任何编程语言。 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 提供者)。
JWT ( J SON W eb T oken)是开放标准(RFC 7519),它定义了一种紧凑且自成体系的方式,用于在各方之间安全地将信息作为JSON对象传输。由于此信息是经过数字签名的,因此可以被验证和信任。可以使用秘密(使用HMAC算法)对JWT进行签名,也可以使用RSA对公钥/私钥对进行签名。
SAML解决的最重要的单个用例是Web浏览器单点登录(SSO,即登录一次即可获得令牌,而无需登录其他服务)。在安全域内(例如使用cookie)相对容易完成单点登录,但是在安全域内扩展SSO则更加困难,并且导致不可互操作的专有技术的泛滥。已指定并标准化了SAML Web浏览器SSO配置文件以促进互操作性。 (作为比较,较新的OpenID Connect协议是Web浏览器SSO的替代方法。)ID Token(在代码示例中通常称为
id_token
)是一个JSON Web令牌(JWT),其中包含用户个人资料信息。