JWT解析器 - 在线解码和查看JSON Web Token内容
什么是JWT解析器?
JWT解析器是一款在线工具,能够将JWT(JSON Web Token)令牌拆解为Header、Payload和Signature三部分,解码并展示其中的用户信息、过期时间、签发者等关键数据。适用于接口调试、Token过期排查和登录问题诊断。
当接口返回401未授权、登录突然掉线或Token刷新失败时,第一步就是查看Token里的内容。JWT解析器让你无需写代码,粘贴Token即可快速查看其中的所有字段,判断是Token过期、时钟偏差还是刷新链路出了问题。
JWT的结构与字段
JWT由三段Base64Url编码的字符串组成,用点号分隔:
- Header(头部):包含令牌类型(typ)和签名算法(alg),如HS256、RS256
- Payload(载荷):包含声明信息,如用户ID(sub)、签发时间(iat)、过期时间(exp)
- Signature(签名):用密钥对前两部分签名,确保数据未被篡改
常见的Payload字段:iss(签发者)、sub(主题)、aud(受众)、exp(过期时间)、nbf(生效时间)、iat(签发时间)、jti(唯一标识)。
关键时间字段解读
exp(过期时间)
Token的失效时间戳,超过此时间后服务端应拒绝该Token
iat(签发时间)
Token的创建时间戳,可用于计算Token的剩余有效期
nbf(生效时间)
Token的最早生效时间,在此之前不应被接受
使用步骤
- 将完整的JWT Token粘贴到输入框中
- 工具自动拆分为Header、Payload、Signature三段
- 重点查看Payload中的exp、iat和nbf时间字段
- 对比当前时间,判断Token是否过期或尚未生效
- 复制解码结果,方便与后端团队沟通问题
典型应用场景
- Token过期排查:接口返回401时,查看exp字段确认是否真的过期
- 时钟偏差检测:对比iat和服务器时间,排查客户端时钟不准的问题
- 刷新链路验证:检查refresh token的有效期和内容是否正确
- 权限信息查看:解码Payload中的角色和权限字段,确认授权范围
- 多服务联调:跨服务传递Token时,确认各服务解析结果一致
技术原理
JWT的Header和Payload部分使用Base64Url编码,而非加密。这意味着任何人都可以解码查看内容,因此不要在JWT中存储敏感信息。数据的安全性由Signature保证——签名使用服务端密钥生成,篡改内容会导致签名验证失败。
本工具在浏览器本地完成解码,不会将Token发送到任何服务器。但请注意:能解码不代表Token有效,Token的真实性需要通过服务端密钥验证签名来确认。
常见问题
能校验JWT签名吗?
本工具主要做解码和查看,不负责用服务端密钥验证签名。签名验证需要密钥,出于安全考虑不应在前端暴露。如需验证签名,请在后端使用对应的JWT库。
能解码就代表Token可用吗?
不代表。能解码只说明格式像JWT,是否有效还要看签名是否正确、是否在有效期内、签发者是否可信等。解码只是排查问题的第一步。
Token内容会上传吗?
不会。当前页面在浏览器本地解析Token,不会将内容发送到任何服务器。适合做第一轮排查,但建议不要将生产环境的Token分享给他人。
JWT和Session有什么区别?
JWT是无状态的,所有信息都存在Token中,服务端不需要存储会话数据;Session是有状态的,会话信息存储在服务端。JWT更适合分布式系统和微服务架构,但无法主动让单个Token失效。
为什么Token过期了但接口还能用?
可能原因:1)客户端时钟与服务器时钟不一致;2)服务端对exp字段的校验有容差;3)使用了refresh token自动续期。建议先检查exp时间戳和当前时间的差异。
HS256和RS256有什么区别?
HS256使用相同的密钥进行签名和验证(对称加密),RS256使用私钥签名、公钥验证(非对称加密)。RS256更安全,适合多服务场景;HS256更简单,适合单服务场景。