JWT 解码器
快速解码JWT,查看Header与Payload内容,支持签名验证,助力开发者调试与鉴权问题解决。
在下面粘贴任意 JSON Web Token 进行解码。您的令牌仅在会话中处理 — 我们不记录也不存储它。
从你的AI智能体调用此工具
免费的JSON API和Model Context Protocol (MCP) 服务器。无需注册、无需API密钥、CORS开放。专为Claude、ChatGPT、Cursor、脚本和前端应用设计。
curl -X POST https://mate.tools/api/v1/jwt-decode.php \
-H "Content-Type: application/json" \
-d '{"token":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjMifQ.signature","secret":"your-256-bit-secret"}' import urllib.request, json
req = urllib.request.Request(
"https://mate.tools/api/v1/jwt-decode.php",
data=json.dumps({"token":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjMifQ.signature","secret":"your-256-bit-secret"}).encode(),
headers={"Content-Type": "application/json"},
)
with urllib.request.urlopen(req) as r:
print(json.load(r)) const r = await fetch("https://mate.tools/api/v1/jwt-decode.php", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({"token":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjMifQ.signature","secret":"your-256-bit-secret"}),
});
console.log(await r.json()); 添加到 claude_desktop_config.json(Claude Desktop)、~/.cursor/mcp.json(Cursor)或任何其他MCP兼容客户端:
{
"mcpServers": {
"mate-tools": {
"command": "npx",
"args": ["-y", "@mate-tools/mcp-server"]
}
}
} 使用方法
- 在上面的输入字段中粘贴您的 JWT 令牌。
- 点击解码以查看头部、载荷和签名。
- 对于签名验证,请提供密钥(HS256/384/512)或公钥(RS256/384/512)。
- 检查过期状态,查看令牌是否仍然有效。
主要功能
- 一键解码 JWT 头部和载荷
- 使用密钥验证 HS256、HS384、HS512 签名
- 使用公钥验证 RS256、RS384、RS512 签名
- 以可读格式显示过期、生效和签发时间戳
- 令牌从不在我们的服务器上记录或存储
常见用例
- 调试应用程序中的身份验证流程
- 检查 OAuth 或 OpenID Connect 提供商返回的令牌
- 检查访问令牌何时过期
- 验证令牌是否由预期的签发者签名
常见问题
JWT 是一种紧凑的、URL 安全的方式,用于在两方之间表示声明。它由三部分组成 — 头部、载荷和签名 — 用点分隔。JWT 广泛用于身份验证和授权(OAuth 2.0、OpenID Connect、单点登录)。
是的 — 令牌仅发送到我们的服务器,以便 PHP 可以解码并(可选地)验证签名。令牌从不被记录、从不被存储、从不被写入磁盘。它仅在请求期间存在于内存中。
当您提供共享密钥时,我们验证 HS256、HS384、HS512(HMAC 与 SHA-2);当您提供 PEM 格式的签发者公钥时,我们验证 RS256、RS384、RS512(RSA 与 SHA-2)。其他算法(ES256、EdDSA 等)会被解码但不会被验证。
exp(过期)声明是一个 Unix 时间戳,超过该时间后令牌必须不再被接受。即使签名有效,过期的 JWT 也应被服务器拒绝。使用刷新令牌获取新的访问令牌。
不可以。解码 JWT 只是读取其内容 — 这并不能证明令牌是真实的。在信任其中任何声明之前,您必须始终使用签发者的密钥或公钥验证签名。