JWT 过期检查器
检查 JWT 令牌过期时间并解码 JWT 负载
令牌状态
头部
负载
签名
Note: This tool only decodes JWT tokens. Signature verification requires the secret key and should be done on the server side.
所有 JWT 解码和检查都在您的浏览器本地完成。您的令牌永远不会离开您的设备。
关于 JWT 过期检查器
这个免费的在线 JWT(JSON Web Token)过期检查器帮助您快速验证 JWT 令牌是否过期、解码其内容并验证其结构。非常适合从事身份验证系统、API 和基于安全令牌的应用程序的开发人员。
所有 JWT 处理都在您的浏览器本地完成 - 您的令牌永远不会离开您的设备,确保敏感身份验证数据的完全安全。
该工具解码 JWT 头部和负载,显示过期信息,并显示距离过期还有多长时间或令牌过期多久了。
如何使用
- 粘贴您的 JWT 令牌到输入区域(令牌通常以"eyJ..."开头)
- 点击"检查过期时间"以验证令牌是否过期并查看过期详情
- 点击"解码 JWT"以查看解码后的头部和负载
- 查看结果:
- 令牌状态:显示令牌是有效、已过期还是尚未生效
- 过期时间:令牌何时过期(如果存在"exp"声明)
- 剩余时间:距离过期还有多久或已过期多久
- 解码数据:查看头部(算法、类型)和负载(声明)
- 复制解码数据使用头部或负载的复制按钮
关键术语与概念
JWT(JSON Web Token)
一种紧凑、URL 安全的令牌格式,用于在各方之间安全地传输信息。JWT 通常用于现代 Web 应用程序中的身份验证和授权。
JWT 结构
JWT 由点(.)分隔的三个部分组成:头部.负载.签名。每个部分都经过 Base64URL 编码。
头部(Header)
包含有关令牌的元数据,通常是签名算法(alg)和令牌类型(typ)。
负载(Payload)
包含声明 - 关于用户和附加数据的陈述。常见声明包括 exp(过期)、iat(签发时间)、sub(主题)和自定义声明。
签名(Signature)
通过编码头部和负载,然后使用密钥签名来创建。此工具仅解码但不验证签名。
exp 声明
过期时间声明(exp)是一个 Unix 时间戳,指示令牌何时过期。过了这个时间,令牌不应被接受。
iat 声明
签发时间声明(iat)是一个 Unix 时间戳,指示令牌何时创建。
nbf 声明
生效时间声明(nbf)是一个 Unix 时间戳,指示令牌何时生效。在此时间之前不应接受令牌。
常见用例
- API 开发:在开发和测试身份验证系统期间验证 JWT 令牌
- 调试身份验证:检查令牌可能被拒绝的原因(过期、尚未生效、格式错误)
- 令牌检查:无需编写代码即可快速查看声明和过期时间
- 安全测试:在安全审计或渗透测试期间分析 JWT 令牌
- 开发测试:验证应用程序中的令牌过期逻辑
- 令牌生命周期管理:监控令牌何时过期以进行刷新逻辑
- 学习与教育:了解 JWT 结构和令牌的工作原理
示例
示例 1:有效令牌
具有未来过期时间的 JWT 令牌:
- 状态:有效令牌 ✓
- 剩余时间:2 小时 45 分钟
- 头部:{"alg":"HS256","typ":"JWT"}
- 负载:{"sub":"1234567890","name":"John Doe","exp":1735891200}
示例 2:已过期令牌
已经过期的 JWT 令牌:
- 状态:令牌已过期 ✗
- 已过期:3 天 5 小时前
- 过期时间:2024-12-25 10:30:00 UTC
示例 3:无过期时间的令牌
没有 exp 声明的 JWT 令牌:
- 状态:未设置过期时间
- 说明:令牌不会自动过期
- 警告:考虑为安全添加过期时间
重要注意事项
⚠️ 签名验证:此工具仅解码 JWT 令牌。它不验证签名。在信任令牌内容之前,请始终在服务器上验证 JWT 签名。
🔒 安全性:所有解码都在您的浏览器中进行。您的 JWT 令牌永远不会离开您的设备。但是,在共享解码的令牌内容时要小心,因为它们可能包含敏感信息。
📅 过期检查:过期检查基于令牌中的"exp"声明。如果您的令牌没有"exp"声明,则无法确定过期时间。
🕐 时间同步:过期时间根据您设备的时钟进行检查。确保系统时间准确以获得正确的结果。
🔐 令牌处理:切勿公开共享您的 JWT 令牌或将其粘贴到不受信任的工具中。此工具是安全的(仅在客户端),但对生产令牌要谨慎。
✅ 最佳实践:为了安全起见,始终在 JWT 上设置过期时间。短期令牌(几分钟到几小时)比长期令牌更安全。
常见问题
什么是 JWT 令牌?
JWT(JSON Web Token)是一种紧凑、URL 安全的令牌格式,用于在各方之间安全地传输信息。JWT 通常用于现代 Web 应用程序中的身份验证和授权。JWT 由三部分组成:头部、负载和签名,由点分隔。
我的 JWT 令牌会发送到服务器吗?
不会,所有 JWT 解码和过期检查完全在您的浏览器中进行。您的令牌永远不会离开您的设备,使此工具对生产和敏感身份验证令牌完全安全。
此工具验证 JWT 签名吗?
不,此工具仅解码 JWT 令牌以读取其内容并检查过期时间。它不验证加密签名。在生产应用程序中信任令牌内容之前,请始终在服务器上验证 JWT 签名。
"令牌已过期"是什么意思?
令牌已过期意味着 JWT 中的"exp"(过期)声明已超过当前时间。服务器不应接受过期的令牌,通常需要用户重新进行身份验证或刷新令牌。
如果我的 JWT 没有过期时间怎么办?
如果 JWT 不包含"exp"声明,从技术上讲它不会自动过期。但是,出于安全原因,通常不建议这样做。大多数身份验证系统应该在 JWT 上设置过期时间。
如何读取解码的 JWT 数据?
解码后,该工具会显示头部(包含算法和令牌类型)和负载(包含用户 ID、过期时间、签发时间和自定义数据等声明)。所有数据都以 JSON 格式显示,便于阅读。
为什么我的有效令牌显示为已过期?
检查您设备的系统时间。过期检查基于您的本地时钟。如果您的系统时间不正确,它可能会将有效令牌显示为已过期,反之亦然。还要验证令牌是否使用正确的过期时间签发。
我可以解码来自任何应用程序的令牌吗?
是的,此工具可以解码任何标准 JWT 令牌,无论是哪个应用程序或框架创建的。JWT 遵循标准化格式(RFC 7519),可跨所有平台和编程语言工作。
JWT 的三个部分是什么?
JWT 有三个由点分隔的 Base64URL 编码部分:头部(算法和类型)、负载(声明和数据)和签名(用于验证的加密签名)。格式为:xxxxx.yyyyy.zzzzz
使用此工具处理生产令牌安全吗?
是的,因为所有处理都在您的浏览器本地进行,令牌永远不会离开您的设备。但是,在粘贴敏感令牌时要小心。避免共享可能包含机密信息的解码令牌内容。
exp、iat 和 nbf 声明有什么区别?
exp(过期时间)是令牌过期的时间。iat(签发时间)是令牌创建的时间。nbf(生效时间)是令牌生效的时间。这三个都使用 Unix 时间戳(自 1970 年 1 月 1 日以来的秒数)。
JWT 令牌应该多久过期一次?
为了安全起见,访问令牌通常应在 15 分钟到 1 小时内过期。刷新令牌可以持续更长时间(几天到几周)。理想的过期时间取决于您的安全要求和用户体验需求。