什么是 JSON Web Token(JWT)

263 阅读1分钟

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

链接名称URL内容说明
GitHub MD 源代文件[https://github.com/cwiki-us-docs/cwikius-docs/blob/master/jwt/README.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](https://cwiki-us-docs.github.io/cwikius-docs/#/jwt/README)将 MD 文件使用 Docsify 转换后的手册链接地址
问题讨论和社区[https://www.ossez.com/tag/jwt](https://www.ossez.com/tag/jwt)请访问使用 JWT 标签
[CWIKI.US](http://cwiki.us/) 页面链接[https://www.cwiki.us/display/CWIKIUSDOCS/JWT+-+JSON+Web+Token](https://www.cwiki.us/display/CWIKIUSDOCS/JWT+-+JSON+Web+Token)Confluence 平台的原始翻译文件更新地址

Why-Cant-I-Just-Send-JWTs-Without-OAuth-JWT

什么是 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 - 要求或者数据