GitHub - authlib/joserfc: Implementations of JOSE RFCs in Python
from joserfc import jwt, jwk key = jwk.import_key("your-secret-key", "oct") encoded = jwt.encode({"alg": "HS256"}, {"k": "value"}, key) # 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJrIjoidmFsdWUifQ._M8ViO_GK6TnZ9G9eqdlS7IpNWzhoGwaYYDQ3hEwwmA' token = jwt.decode(encoded, key) print(token.header) # {'alg': 'HS256', 'typ': 'JWT'} print(token.claims) # {'k': 'value'} # validate claims (if needed) claims_requests = jwt.JWTClaimsRegistry() claims_requests.validate(token.claims)
It follows RFCs with extensible API. The module has implementations of:
2023, Hsiaoming Yang. Under BSD-3 license.