Skip to main content

The ultimate Python library for JOSE RFCs, including JWS, JWE, JWK, JWA, JWT

Project description

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

This package contains implementation of:

  • RFC7515: JSON Web Signature

  • RFC7516: JSON Web Encryption

  • RFC7517: JSON Web Key

  • RFC7518: JSON Web Algorithms

  • RFC7519: JSON Web Token

  • RFC7520: Examples of Protecting Content Using JSON Object Signing and Encryption

  • RFC7638: JSON Web Key (JWK) Thumbprint

  • RFC7797: JSON Web Signature (JWS) Unencoded Payload Option

  • RFC8037: OKP Key and EdDSA algorithm

  • RFC8812: ES256K algorithm

  • RFC9278: JWK Thumbprint URI

  • RFC9864: Ed25519 and Ed448 algorithms

And draft RFCs implementation of:

  • draft-ietf-jose-deprecate-none-rsa15-02

  • draft-amringer-jose-chacha-02

  • draft-madden-jose-ecdh-1pu-04

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 = jwt.encode({"alg": "HS256"}, {"k": "value"}, key)
>>> encoded_jwt
'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJrIjoidmFsdWUifQ._M8ViO_GK6TnZ9G9eqdlS7IpNWzhoGwaYYDQ3hEwwmA'
>>> token = jwt.decode(encoded_jwt, key)
>>> token.header
{'alg': 'HS256', 'typ': 'JWT'}
>>> token.claims
{'key': 'value'}
>>> claims_requests = jwt.JWTClaimsRegistry()
>>> claims_requests.validate(token.claims)

License

Licensed under BSD. Please see LICENSE for licensing details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

joserfc-1.6.7.tar.gz (232.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

joserfc-1.6.7-py3-none-any.whl (70.6 kB view details)

Uploaded Python 3

File details

Details for the file joserfc-1.6.7.tar.gz.

File metadata

  • Download URL: joserfc-1.6.7.tar.gz
  • Upload date:
  • Size: 232.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for joserfc-1.6.7.tar.gz
Algorithm Hash digest
SHA256 6999fe89457069ecacd8cc797c88a805f83054dd883333fa0409f74b46479fd7
MD5 b76c8d1321aff1585a24a00f855fde1a
BLAKE2b-256 1bcb52e479f20804904f5df20ac4539d292dcecd1287aaa33cba1d1def1d9d8e

See more details on using hashes here.

Provenance

The following attestation bundles were made for joserfc-1.6.7.tar.gz:

Publisher: pypi.yml on authlib/joserfc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file joserfc-1.6.7-py3-none-any.whl.

File metadata

  • Download URL: joserfc-1.6.7-py3-none-any.whl
  • Upload date:
  • Size: 70.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for joserfc-1.6.7-py3-none-any.whl
Algorithm Hash digest
SHA256 9e51e4a64840aa1734a058258e80a4480e2ff2d5686e480e7c92c954a92fbe05
MD5 e719a84118eb5e886ace6c06af52d156
BLAKE2b-256 c5e4bcf6718b5662894c6831f46296b73cd4b1a2e90c20b6d437e20c4997388c

See more details on using hashes here.

Provenance

The following attestation bundles were made for joserfc-1.6.7-py3-none-any.whl:

Publisher: pypi.yml on authlib/joserfc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page