什么是 JSON Web Token(JWT)

有关本文档的快速链接,请参考页面提示。

链接名称 URL 内容说明
GitHub MD 源代文件 https://github.com/cwiki-us-docs/cwikius-docs/blob/master/jwt/README.md 将本页面中的内容转换为 MD 文件的手册,并存于 Github 上面
Docsify 转换后的手册 https://cwiki-us-docs.github.io/cwikius-docs/#/jwt/README 将 MD 文件使用 Docsify 转换后的手册链接地址
问题讨论和社区 https://www.ossez.com/tag/jwt 请访问使用 JWT 标签
CWIKI.US 页面链接 https://www.cwiki.us/display/CWIKIUSDOCS/JWT+-+JSON+Web+Token Confluence 平台的原始翻译文件更新地址

什么是 JSON Web Token(JWT)?

JSON Web Token (JWT) 作为一个开放的标准 (RFC 7519) 定义了一种简洁自包含的方法用于通信双方之间以 JSON 对象的形式安全的传递信息。因为有数字签名,所以这些通信的信息能够被校验和信任。

JWT 可以使用秘钥(secret)进行签名 (使用 HMAC 算法) 或使用 RSAECDSA 算法的公钥/私钥对(public/private key)。

尽管 JWT 可以在通讯的双方之间通过提供秘钥(secret)来进行签名,我们将会更多关注 **已签名(signed)**的 token。

通过签名的令牌可以验证其中数据的 完整性(integrity) ,而加密的令牌可以针对其他方 隐藏(hide) 申明。

当令牌(token)使用 公钥/私钥对(public/private key)进行签名的时候,只有持有私钥进行签名的一方是进行签名的。

关键术语的中英文对照

  • token - 令牌
  • secret - 秘钥
  • signature - 签名
  • claims - 要求或者数据