---
url: https://docs.ogmabox.com/zh/app/utilities/jwt.md
description: 在 Ogma 中检查和分析 JSON Web Token。
---

# JWT {#jwt}

JWT 实用工具可解码和检查 JSON Web Token，让你无需私钥即可审查其结构、声明和安全属性。

## 使用工具 {#using-the-tool}

1. 在输入字段中粘贴 JWT。工具接受标准的三部分格式，各部分以点分隔。
2. 工具会自动拆分标头和载荷部分，并进行 Base64 解码。
3. 在下方三个区域中查看解码后的输出。

检查不需要任何密钥材料。签名验证是单独的操作。

## 解码区域 {#decoded-sections}

### 标头 {#header}

显示算法（`alg`）和密钥 ID（`kid`）字段。算法警告会显示在此处：

| 条件 | 警告级别 |
|---|---|
| `alg: none` | 严重：令牌没有签名 |
| `alg: HS256` | 提示：对称算法；密钥较弱时可被暴力破解 |
| `alg: RS256` 或 `ES256` | 无警告 |

### 载荷 {#payload}

显示所有声明、各自的值及推断类型。解码的标准声明包括：

| 声明 | 含义 |
|---|---|
| `iss` | 签发者 |
| `sub` | 主体（通常为用户 ID） |
| `aud` | 受众 |
| `exp` | 过期时间 |
| `nbf` | 生效时间下限 |
| `iat` | 签发时间 |
| `jti` | JWT ID（唯一令牌标识符） |

自定义声明显示在标准声明下方。

### 过期检查 {#expiry-check}

如果令牌包含 `exp` 声明，工具会将其与当前时间比较，并显示以下状态之一：

* **有效**：令牌尚未过期。
* **已过期**：令牌已超过过期时间，并显示已过期的时长。
* **无过期时间**：令牌没有 `exp` 声明。

### 签名 {#signature}

显示原始的 Base64url 编码签名。除非你提供密钥，否则工具不会尝试验证；此区域用于参考及确认签名存在。

## 需要关注的事项 {#what-to-look-for}

* 某些库会在不验证的情况下接受 `alg: none` 令牌。测试目标应用是否接受它们。
* 长期有效的令牌（`exp` 比 `iat` 晚许多天甚至多年）可能表明应用没有轮换令牌。
* 存储在未加密载荷声明中的敏感数据（个人身份信息、内部 ID、角色标记）可被任何持有令牌的人读取。
* 没有 `jti` 的令牌无法逐个撤销。

## 相关页面 {#related-pages}

* [令牌分析](./token-analysis.md)
* [编解码器](./decoder.md)
* [HTTP 历史记录](../http-history.md)
