【发布时间】:2015-02-03 12:23:15
【问题描述】:
JWT(Json Web Token)和SAML的主要区别是什么?请向我推荐任何带有弹簧安全性的示例。提前致谢。
【问题讨论】:
-
看看这个,更深入,比较和解释:security.stackexchange.com/questions/82587/…
JWT(Json Web Token)和SAML的主要区别是什么?请向我推荐任何带有弹簧安全性的示例。提前致谢。
【问题讨论】:
【讨论】:
另外,SAML 是协议和令牌格式,而 JWT 只是令牌格式。
【讨论】:
两者都用于在各方之间交换身份验证和授权数据,但格式不同。 SAML 是一种标记语言(如 XML),而 JWT 是一种 JSON。
S安全 Assertion Markup Language (SAML,发音为 SAM-el) 是一个用于在安全域之间交换身份验证和授权数据的开放标准,即 IdP(Identity P提供者)和 IdP strong>SP(S服务P提供者)。
| Term in SAML | Term in OAuth | Description |
|---|---|---|
| Client | Client | Example: A web browser |
| Identity Provider(IdP) | Authorization Server | Server that owns the user identities and credentials |
| Service Provider(SP) | Resource Server | The protected application |
JSON Web Token (JWT,发音为 jot) 是一个 ID 令牌 基于 JSON 将用户信息作为 Header、Payload 和 Signature 结构传递。 https://jwt.io/
注意:访问令牌(并不总是 JWT)用于通知 API,令牌的持有者已被授权访问 API
| Use case | Standard to use |
|---|---|
| Access to application from a portal | SAML |
| Centralized identity source | SAML |
| Enterprise SSO | SAML |
| Mobile use cases | OAuth(preferably with Bearer Tokens) |
| Permanent or temporary access to resources such as accounts, files | OAuth |
【讨论】: