跳到内容
🛠️ToolsShed

JWT 调试器

解码和检查 JWT 令牌的头部、载荷和过期时间。

关于此工具

JWT(JSON Web Token)是一种紧凑的编码格式,用于在系统之间安全地传输信息。该工具可让您立即解码并检查任何JWT的内容,显示标头、负载和包含的声明,无需任何外部工具或终端命令。

使用JWT调试器,只需将JWT粘贴到输入字段中,工具就会立即显示解码后的标头(包含算法和令牌类型)、负载(包含用户数据、过期时间和自定义声明)以及令牌签名的有效性。这在开发API、调试身份验证问题或在故障排除期间验证令牌内容时非常有用。

常见的使用场景包括检查OAuth2流中的身份验证令牌、验证微服务中的自定义声明、检查令牌过期时间以及理解令牌中嵌入的数据。请注意,虽然该工具可以解码任何JWT,但在没有秘密密钥的情况下无法验证签名——如需完全验证,请使用服务器端库或API。

常见问题

代码实现

import base64, json

def decode_jwt(token: str) -> dict:
    parts = token.split(".")
    if len(parts) != 3:
        raise ValueError("Invalid JWT format")
    
    def decode_part(part):
        # Add padding
        padded = part + "=" * (4 - len(part) % 4)
        decoded = base64.urlsafe_b64decode(padded)
        return json.loads(decoded)
    
    return {
        "header": decode_part(parts[0]),
        "payload": decode_part(parts[1]),
        "signature": parts[2],
    }

token = "eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1c2VyMSJ9.signature"
decoded = decode_jwt(token)
print(json.dumps(decoded["payload"], indent=2))

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.