JWT 解码器
解码 JWT 以读取头部、载荷声明和签名,把 exp、nbf、iat 显示为日期并给出过期状态。本地运行,不会上传任何内容。
开头的 "Bearer " 会被自动去除。
{
"alg": "HS256",
"typ": "JWT"
}{
"sub": "1234567890",
"name": "John Doe",
"iat": 1516239022
}| 算法 | HS256 |
|---|---|
| 签名 | SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c |
什么是 JWT 解码器?
JWT 解码器会把 JSON Web Token 拆分为头部、载荷和签名,并对 JSON 进行格式化输出。时间声明(exp、nbf、iat)会被转换为易读的 UTC 日期和相对时间,状态标记会告诉你令牌是已过期、尚未生效还是没有过期时间。它只做解码,不会验证签名。
如何使用 JWT 解码器
- 粘贴令牌(开头的
Bearer会被自动去除)。 - 查看解码后的头部(算法、类型、密钥 ID)和载荷声明。
- 查看过期状态以及 exp/nbf/iat 日期。
- 在信任任何声明之前,请先用 JWT 验证器和正确的密钥进行验证。
示例
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
Header {"alg": "HS256", "typ": "JWT"} · payload {"sub": "1234567890", "name": "John Doe", "iat": 1516239022} · status: no expiration 何时使用 JWT 解码器
适合调试身份认证:查看令牌携带了哪些声明、权限范围、受众或过期时间。不要把解码出的声明当作可信数据,任何人都可以创建内容任意的令牌。加密令牌(JWE,五个部分)没有密钥就无法解码。
JWT 解码器 的工作原理
紧凑格式的 JWS 由点号分隔的三部分 Base64URL 组成。前两部分经解码(Base64URL → 字节 → UTF-8)后按 JSON 解析;第三部分是二进制的签名数据,所以原样显示。时间声明是 NumericDate 值(自 1970-01-01 UTC 起的秒数),并与你设备的时钟比较。任何内容都不会离开你的浏览器。
常见用例
- 查明 API 返回 401 的原因:令牌过期了,还是受众不对?
- 读取访问令牌中的角色或权限范围。
- 查看头部中的 kid,了解使用了哪个签名密钥。
- 检查 OpenID Connect 提供商签发的 ID 令牌。
安全提示
解码只在你的浏览器中进行。请像对待密码一样对待 JWT:任何持有有效令牌的人,在它过期之前都可以使用它。
常见问题
粘贴生产环境的令牌安全吗?
令牌在本地解码,不会被发送到任何地方。但有效的令牌就是一种凭据,如果你把它分享给了不受你控制的地方,请将其吊销。
为什么解码不等于验证?
载荷只是经过 Base64URL 编码,并未加密。验证需要用密钥或公钥检查签名。
exp、nbf 和 iat 是什么意思?
exp 是过期时间,nbf 是“不早于”(在此之前令牌无效),iat 是签发时间,三者都是自 Unix 纪元起的秒数。