JWT解码器
即时解码JSON Web Token(JWT)。完全在你的浏览器中运行:令牌绝不会离开你的设备,因此可安全用于生产环境的密钥。
如何使用本工具
- 1
将你的JWT粘贴到输入框中。
- 2
点击“解码”。头部和负载会被解析并显示出来。
- 3
查看算法、声明(claims)、过期时间和签发者。
什么是JWT,它是如何工作的?
JSON Web Token(JWT,在RFC 7519中定义)是一种紧凑且URL安全的方式,用于表示关于用户的一组声明(claims),并附带这些声明未被篡改的加密证明。JWT为大多数现代Web技术栈提供身份验证支持:当你登录时,服务器会创建一个包含你的用户ID和权限的JWT,用一个密钥对其签名,然后返回给你。你的浏览器会存储该令牌(通常存放在localStorage或Cookie中),并在之后的每个请求的Authorization头部中携带它。服务器在每个请求中都会验证签名:如果有效,就信任令牌中的声明;如果被篡改,签名就会失效,请求随即被拒绝。JWT由三部分组成,均采用Base64URL编码并以点分隔:头部声明签名算法(HS256表示HMAC-SHA256,RS256表示RSA,ES256表示ECDSA,none表示未签名令牌——这很危险,你应当拒绝它们);负载(payload)包含实际的声明(标准声明如“sub”表示主体、“exp”表示过期时间、“iat”表示签发时间,外加你的应用所定义的任意自定义声明);签名则是头部和负载由持有密钥者签名的证明。本解码器会揭示前两部分,它们属于公开信息;签名只能用密钥来验证,这正是为什么每一个JWT解码器都会在不经验证的情况下显示声明。
常见使用场景
通过解码客户端发送的JWT来调试身份验证问题:准确查看它包含哪些声明、由谁签发以及何时过期。
检查来自API网关(AWS Cognito、Auth0、Okta)的JWT,以理解下游服务的声明结构。
验证自定义声明(组织ID、角色、功能标记)是否在令牌签发代码中被正确设置。
对比续期前后的令牌,确认过期时间已被延长。
审计令牌的算法:确认在生产环境中使用的是RS256或ES256,绝不使用“none”。
将服务器日志中的base64url负载转换为可读的声明。
常见问题
用于生产环境的JWT是否安全?▼
这个工具会验证签名吗?▼
如果我的JWT已经过期了会怎样?▼
JWT可以被加密吗?▼
“alg”:“none”是什么意思,它危险吗?▼
为什么要用JWT而不是会话Cookie?▼
JWT的标准声明有哪些?▼
相关工具
JSON格式化与校验工具
在线格式化、校验和压缩JSON。完全在你的浏览器中运行:你的数据永远不会离开你的设备。
XML格式化工具
格式化并美化XML文档。适用于SOAP、站点地图、RSS订阅源和配置文件。
Base64编码与解码工具
将字符串编码为Base64,或将Base64解码为文本。尊重你的隐私:全部在你的浏览器中运行。
URL编码与解码工具
将文本转换为URL安全的编码(百分号编码),或进行反向转换。适用于查询字符串、重定向和OAuth流程。
HTML实体编码与解码工具
将特殊字符转换为HTML实体(&、<等),或进行反向转换。适用于将文本安全地嵌入HTML。
CSS压缩工具
移除CSS中的注释、空白和不必要的字符,以减小文件体积。