如何使用 JWT Decoder 解码和检查 JSON Web Token
将完整 JWT 粘贴到工具中即可查看头部、载荷和签名数据;签名验证默认关闭。需要验证时,再提供对应密钥并单独检查验证结果。
先了解解码与验证的区别
JWT Decoder 用于把 JSON Web Token 拆成三部分并查看其中的数据:令牌头部、载荷和签名数据。它适合在排查令牌内容、检查声明字段或确认令牌格式时使用。解码只是读取并解析内容,不等于证明签名有效;签名验证是另一个可选操作。
按顺序解码并检查 JWT
-
准备一段 JWT 文本。令牌不能为空或只包含空白,并且必须由两个英文句点分隔为恰好三段。多出或少了任何一段,结果都会失败。
-
将完整令牌粘贴到输入框中,执行解码。工具会对前两段进行 Base64URL 解码,再按 UTF-8 解析为 JSON;它们分别作为头部和载荷显示。第三段会被解码为签名数据,同时保留原始文本。
-
查看解析结果和问题提示。若前两段的 Base64URL、UTF-8 或 JSON 解析出现问题,工具会收集对应问题并将整体结果标记为失败。非空的第三段无法解码时也会记录问题;空的第三段不会因此单独产生签名问题。
-
如果只需要查看内容,可以保留默认设置,不进行签名验证。若要验证签名,请主动启用验证并提供对应密钥。工具会按照已解析头部中标识的算法尝试验证,并报告签名有效或无效等结果。启用验证却没有提供密钥时,验证会被跳过,并记录一条问题。
如何理解解析结果
成功解析后,重点查看头部和载荷中的 JSON 内容。若这些值是对象,工具还可以显示部分令牌信息,例如算法、令牌类型、签发者、主题、受众以及标准时间相关声明。第三段代表签名数据,但仅能看到或解码签名并不能说明令牌已经通过认证。
需要验证时,应把验证结果与当前使用的密钥和算法配置一并判断。没有密钥时出现验证被跳过的问题,并不表示签名有效或无效。若结果失败,先检查段数,再检查前两段是否能按 Base64URL、UTF-8 和 JSON 顺序正确解析。
使用示例
开发人员需要查看一段登录令牌中的主题和受众声明,同时决定是否使用对应密钥检查签名。
在排查登录令牌时,粘贴一段由两个英文句点分隔的完整 JWT,先执行解码并查看三部分内容;如需检查签名,再启用验证并输入对应密钥。
在令牌格式正确且前两段可解析时,结果应包含头部、载荷和签名数据;若随后启用验证并提供密钥,还会出现签名验证结果。
使用限制
- 解码结果只反映令牌内容的解析情况,不单独证明签名认证、完整性或令牌可用性;这些判断需要另行进行签名验证。
常见错误
- 常见错误是粘贴时遗漏一段、加入额外句点,或输入为空白。请保留完整的三段文本,并确认段与段之间只有两个分隔句点。
常见问题
不提供密钥也能解码 JWT 吗?
可以。默认情况下,工具会先解码并显示头部、载荷和签名数据,不会主动进行签名验证。
JWT 输入需要满足什么格式?
需要恰好三段,并由两个英文句点分隔。空输入、空白输入或其他段数都会导致失败。
看到载荷内容是否代表 JWT 已经有效?
不能仅凭解码结果判断签名有效。请启用验证并提供对应密钥;若没有密钥,验证会被跳过并记录问题。