跳到内容
🛠️ToolsShed

JWT Claims Validator

验证JWT令牌声明,包括过期时间和发行者。

关于此工具

JSON Web Token(JWT)在现代网络应用中被广泛用于身份验证和数据交换,但必须验证其声明以确保安全性和正确性。JWT 声明验证工具允许您解码并验证 JWT 声明,如过期时间(exp)、发布时间(iat)、发行者(iss)、受众(aud)和其他标准声明,无需命令行工具或服务器端身份验证。这对于调试令牌问题的开发人员、审计令牌的安全专业人员和管理 API 基础设施的 DevOps 工程师至关重要。

要使用验证工具,只需将您的 JWT 令牌粘贴到输入字段中,该工具会立即解码并以可读格式显示所有声明。您可以一目了然地看到令牌的签名有效性、过期状态和所有自定义声明。该工具检查令牌是否已过期,并突出显示发行者和受众等关键信息,使您能够轻松识别配置错误或篡改。所有内容都在浏览器中运行,因此您的令牌永远不会离开您的设备。

JWT 验证对于防止未授权访问和检测受损或格式不正确的令牌至关重要。通过在开发和故障排除期间定期检查声明,您可以及早发现身份验证问题并避免生产环境中断。该工具对于使用 REST API、微服务、OAuth 流程或 JWT 作为标准身份验证机制的单点登录(SSO)系统的任何人都是无价之宝。

常见问题

代码实现

import jwt  # pip install PyJWT
import datetime

SECRET = "your-256-bit-secret"

# Create a JWT (HS256)
payload = {
    "sub": "user123",
    "iss": "https://myapp.com",
    "aud": "https://api.myapp.com",
    "iat": datetime.datetime.utcnow(),
    "exp": datetime.datetime.utcnow() + datetime.timedelta(hours=1),
    "role": "admin",
}
token = jwt.encode(payload, SECRET, algorithm="HS256")
print("Token:", token)

# Decode and verify a JWT
try:
    decoded = jwt.decode(
        token,
        SECRET,
        algorithms=["HS256"],
        audience="https://api.myapp.com",
    )
    print("Subject:", decoded["sub"])
    print("Role:",    decoded["role"])
except jwt.ExpiredSignatureError:
    print("Token has expired")
except jwt.InvalidTokenError as e:
    print("Invalid token:", e)

# Decode without verification (inspect only — never trust for auth)
header = jwt.get_unverified_header(token)
print("Algorithm:", header["alg"])

Comments & Feedback

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