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.4.tar.gz (231.9 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.4-py3-none-any.whl (70.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: joserfc-1.6.4.tar.gz
  • Upload date:
  • Size: 231.9 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.4.tar.gz
Algorithm Hash digest
SHA256 34ce5f499bfcc5e9ad4cc75077f9278ab3227b71da9aaf28f9ab705f8a560d3c
MD5 437b2f03e426a08468e977ef5bacc717
BLAKE2b-256 dec6de8fdbdfa75c8ca04fead38a82d573df8a82906e984c349d58665f459558

See more details on using hashes here.

Provenance

The following attestation bundles were made for joserfc-1.6.4.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.4-py3-none-any.whl.

File metadata

  • Download URL: joserfc-1.6.4-py3-none-any.whl
  • Upload date:
  • Size: 70.5 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.4-py3-none-any.whl
Algorithm Hash digest
SHA256 3e4a22b509b41908989237a045e25c8308d5fd47ab96bdae2dd8057c6451003a
MD5 9af991cae057c36c4eb2865bb3f834e5
BLAKE2b-256 b6f7210b27752e972edb36d239315b08d3eb6b14824cc4a590da2337d195260b

See more details on using hashes here.

Provenance

The following attestation bundles were made for joserfc-1.6.4-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