Solutions for JWT Assignment#
Task 2 — Create a Simple JWT**#
File: jwt_create.py
import jwt
import datetime
secret = "mysecret123"
# Payload with 1-minute expiration
payload = {
"username": "alice",
"iat": datetime.datetime.utcnow(),
"exp": datetime.datetime.utcnow() + datetime.timedelta(minutes=1)
}
token = jwt.encode(payload, secret, algorithm="HS256")
print("Generated JWT:")
print(token)
Task 3 — Decode and Verify JWT**#
File: jwt_verify.py
import jwt
from jwt import ExpiredSignatureError, InvalidTokenError
secret = "mysecret123"
def verify_token(token):
try:
decoded = jwt.decode(token, secret, algorithms=["HS256"])
print("Token is valid!")
print("Decoded payload:", decoded)
except ExpiredSignatureError:
print("Token has expired.")
except InvalidTokenError:
print("Invalid token or signature.")
if __name__ == "__main__":
t = input("Enter JWT: ")
verify_token(t)