由于令牌是使用密钥签名的,因此您可以验证其签名并隐式信任其声明的内容。
JWE、JWS 和 JWT
根据 JWT 规范,“JWT 将一组声明表示为以 JWS 和/或 JWE 结构编码的 JSON 对象”。从技术上讲,“JWT”一词只是描述一个未签名的令牌;我们所说的 JWT 通常是 JWS 或者 JWS + JWE。
JWS — JSON Web 签名
在JWS方案中,服务器对JWT进行签名,并将签名后发送给客户端。签名可确保 JWT 声明未被 危地马拉电报号码数据 伪造或篡改。但是,JWT 未加密(其内容本质上是纯文本)。
PLAY — JSON Web 加密
另一方面,JWE 方案对内容进行加密但不对其进行签名。这为您的 JWT 带来了保密性,但没有带来在 JWS 内签署和封装 JWE 的安全性。
OAuth 2.0 是一个与可以委托身份验证或提供授权的服务交互的框架。它在许多移动和网络应用程序中被广泛采用。 OAuth 2.0 没有指定令牌格式,但 JWT 正在迅速成为业界事实上的标准。
在 OAuth 范例中,有两种类型的令牌:访问令牌和刷新令牌。当您首次进行身份验证时,您的应用程序(以及您的用户)通常会获得两个令牌,但访问令牌会设置为在一定时间后过期(此持续时间可在应用程序中配置)。一旦初始访问令牌过期,刷新令牌将允许您的应用获取新的访问令牌。刷新令牌具有设定的到期日期,允许无限制使用,直到达到到期点。访问令牌和刷新令牌均具有内置安全性(签名后)以防止篡改,并且仅在一定时间内有效。
Stormpath 使用 OAuth,因为它是任何兼容库都可以利用的行业标准。 Stormpath 目前支持三种类型的 OAuth 授权。