blob: 17f8174e324d2dc14fa0f4c718f76bcb86d563a5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
#!/bin/sh
[ "$1" = python3-itsdangerous ] || exit 0
python3 - << 'EOF'
from itsdangerous import URLSafeSerializer, URLSafeTimedSerializer, BadSignature
s = URLSafeSerializer("secret-key")
token = s.dumps({"user_id": 42, "role": "admin"})
assert isinstance(token, str)
data = s.loads(token)
assert data["user_id"] == 42
assert data["role"] == "admin"
# Test that tampered tokens are rejected
try:
s.loads(token + "tampered")
assert False, "should have raised BadSignature"
except BadSignature:
pass
# Test timed serializer
ts = URLSafeTimedSerializer("another-secret")
timed_token = ts.dumps("payload")
assert ts.loads(timed_token) == "payload"
print("python3-itsdangerous OK")
EOF
|