JWT 速查
共 23 条 JWT 结构与校验,涵盖结构、标准声明、签名算法、校验要点、工具。 支持搜索与分类筛选,点击即可复制。
结构
三段用点号连接,前两段是 Base64Url 编码的 JSON。
| 命令 | 说明 |
|---|---|
| JWT 的三段结构 | |
| header:算法与类型 | |
| payload:声明(claims) | |
| 签名对前两段做运算,防止篡改 |
标准声明
Registered claims。
| 命令 | 说明 |
|---|---|
| 签发者 | |
| 主体(通常是用户 ID) | |
| 接收方(受众) | |
| 过期时间 / 生效时间 / 签发时间(时间戳秒) | |
| 唯一标识(防重放) | |
| 如 role、tenant(注意别放敏感信息,payload 可被解码) |
签名算法
对称与非对称。
| 命令 | 说明 |
|---|---|
| HMAC 对称算法(同一个密钥签名与校验) | |
| 非对称算法(私钥签、公钥验) | |
| 无签名——服务端必须明确拒绝 | |
| 公钥集合,验签时按 kid 取对应公钥 |
校验要点
安全校验清单。
| 命令 | 说明 |
|---|---|
| 必须验证签名,不能只解码 payload | |
| 检查是否过期或尚未生效 | |
| 确认签发者与受众符合预期 | |
| 不信任 token 里的 alg,服务端固定允许的算法 | |
| 轮换密钥时用 kid 定位正确公钥 |
工具
生成、解析与调试。
| 命令 | 说明 |
|---|---|
| 可视化查看 header/payload(勿放真实敏感数据) | |
| Node 生态常用库 | |
| Python 常用库 | |
| 手工解码某一段(注意 base64url 补全) |
使用说明
JWT 速查:结构、标准声明、签名算法、校验要点、工具;支持搜索与分类筛选,点击即可复制。
- 按用途点分类:结构、标准声明、签名算法、校验要点、工具。
- 点「命令」列复制到代码或调试工具。
- 记住 payload 只是 Base64 编码,不要放敏感数据。
- 服务端必须:验签 + 验 exp + 固定允许的算法。
常见问题
- 为什么不能信任 token 里的 alg?
- 攻击者可把 alg 改成 none 或换成对称算法来绕过验签;服务端必须固定允许的算法列表,不读 token 的 alg 做决策。
- JWT 和 Session 怎么选?
- JWT 适合无状态、跨服务与客户端携带;Session 适合需要即时吊销和服务端控制的场景。二者可混合使用。
- 需要联网吗?
- 不需要,本地可用。
延伸阅读
相关工具
JG
Jaeger 速查
all-in-one / 采样 / collector / trace 查询速查
HBR
Harbor 速查
docker push / Robot Account / Replication / Trivy 速查
NX
Nexus 速查
hosted/proxy/group / registry / REST API 速查
SNT
Sentry 速查
DSN / capture_exception / traces_sample_rate 速查
ZBX
Zabbix 速查
zabbix_agent2 / UserParameter / API 速查
ADO
Azure DevOps 速查
az repos / az pipelines / az boards 速查