第 1 课

什么是 JWT

理解紧凑 JWT 格式,以及开发者在哪些地方会遇到它。

JSON Web Token 通常简称 JWT,是一种用于在系统之间携带 JSON 声明的紧凑字符串。你常会在 API 请求、浏览器存储、Cookie、OAuth 流程和服务间认证中看到它。

三段结构

紧凑 JWT 由三段组成,中间用点号分隔:

header.payload.signature
  • header 描述 Token 类型和签名算法。
  • payload 包含 claims,也就是 Token 携带的事实。
  • signature 让验证方在拥有正确密钥和规则时检测篡改。

前两段是 Base64URL 编码的 JSON。这说明它们便于传输,但不是为了隐藏内容。

JWT 是可读的

任何拿到 Token 字符串的人都可以解码 header 和 payload。因此,不应把敏感秘密直接放进 JWT payload,除非你使用了额外的加密机制。

JWT 的价值在于紧凑

JWT 适合放在 HTTP header 中,也方便分布式系统在不查询中心会话库的情况下验证。便利性也会带来风险:如果应用跳过验证或信任了错误的声明,就可能产生安全问题。

想动手练习时,可使用 DevCove 相关工具——可选,不属于本课正文。

打开相关工具

返回课程概览