authlib/joserfc

Implementations of JOSE RFCs in Python

Python

179

624 commits

updated Sep 13, 2026

See the code

README

Authlib JOSE RFC

joserfc is a Python library that provides a comprehensive implementation of several essential JSON Object Signing and Encryption (JOSE) standards.

Build Status PyPI version conda-forge version PyPI Downloads Code Coverage Maintainability Rating Security Rating

Usage

A quick and simple JWT encoding and decoding would look something like this:

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)

Features

It follows RFCs with extensible API. The module has implementations of:

And draft RFCs implementation of:

License

2023, Hsiaoming Yang. Under BSD-3 license.

jose
jwa
jwe
jwk
jws
jwt

authlib/joserfc

Implementations of JOSE RFCs in Python

Python

179

624 commits

updated Sep 13, 2026

See the code

README

Authlib JOSE RFC

joserfc is a Python library that provides a comprehensive implementation of several essential JSON Object Signing and Encryption (JOSE) standards.

Build Status PyPI version conda-forge version PyPI Downloads Code Coverage Maintainability Rating Security Rating

Usage

A quick and simple JWT encoding and decoding would look something like this:

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)

Features

It follows RFCs with extensible API. The module has implementations of:

And draft RFCs implementation of:

License

2023, Hsiaoming Yang. Under BSD-3 license.

jose
jwa
jwe
jwk
jws
jwt

Significant stargazers

Moein Bbp

74 followers · starred Mar 2026

Kim Myeongseop

8 followers · starred Nov 2025