27 lines
676 B
Python
27 lines
676 B
Python
#!/usr/bin/env python
|
|
import json
|
|
from chongming_jwt import JWT
|
|
|
|
# 使用与 config.toml 相同的密钥(可从配置读取)
|
|
SECRET = "your-secret-key-change-in-production"
|
|
|
|
jwt = JWT(SECRET, "HS256")
|
|
|
|
# 1. 生成 token
|
|
payload = json.dumps({"sub": "test_user", "role": "admin"})
|
|
token = jwt.encode(payload, expires_in_seconds=3600)
|
|
print(f"✅ Token: {token}")
|
|
|
|
# 2. 解码验证
|
|
decoded = jwt.decode(token)
|
|
print(f"✅ Decoded: {decoded}")
|
|
|
|
# 3. 仅验证(不返回内容)
|
|
is_valid = jwt.validate(token)
|
|
print(f"✅ Valid: {is_valid}")
|
|
|
|
# 4. 测试无效 token
|
|
try:
|
|
jwt.decode(token + "invalid")
|
|
except Exception as e:
|
|
print(f"❌ Invalid token caught: {e}") |