Skip to main content

JOSE implementation in Python

Project description

A JOSE implementation in Python

PyPI Github Actions CI Status Coverage Status Docs Code style: black

Docs are available on ReadTheDocs.

The JavaScript Object Signing and Encryption (JOSE) technologies - JSON Web Signature (JWS), JSON Web Encryption (JWE), JSON Web Key (JWK), and JSON Web Algorithms (JWA) - collectively can be used to encrypt and/or sign content using a variety of algorithms. While the full set of permutations is extremely large, and might be daunting to some, it is expected that most applications will only use a small set of algorithms to meet their needs.

Installation

$ pip install python-jose[cryptography]

Cryptographic Backends

As of 3.3.0, python-jose implements three different cryptographic backends. The backend must be selected as an extra when installing python-jose. If you do not select a backend, the native-python backend will be installed.

Unless otherwise noted, all backends support all operations.

Due to complexities with setuptools, the native-python backend is always installed, even if you select a different backend on install. We recommend that you remove unnecessary dependencies in production.

  1. cryptography

    • This backend uses pyca/cryptography for all cryptographic operations. This is the recommended backend and is selected over all other backends if any others are present.

    • Installation: pip install python-jose[cryptography]

    • Unused dependencies:

      • rsa

      • ecdsa

      • pyasn1

  2. pycryptodome

    • This backend uses pycryptodome for all cryptographic operations.

    • Installation: pip install python-jose[pycryptodome]

    • Unused dependencies:

      • rsa

  3. native-python

    • This backend uses python-rsa and python-ecdsa for all cryptographic operations. This backend is always installed but any other backend will take precedence if one is installed.

    • Installation: pip install python-jose

Usage

>>> from jose import jwt
>>> token = jwt.encode({'key': 'value'}, 'secret', algorithm='HS256')
u'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXkiOiJ2YWx1ZSJ9.FG-8UppwHaFp1LgRYQQeS6EDQF7_6-bMFegNucHjmWg'

>>> jwt.decode(token, 'secret', algorithms=['HS256'])
{u'key': u'value'}

Thanks

This library was originally based heavily on the work of the folks over at PyJWT.

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

python-jose-3.3.0.tar.gz (129.1 kB view details)

Uploaded Source

Built Distribution

python_jose-3.3.0-py2.py3-none-any.whl (33.5 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file python-jose-3.3.0.tar.gz.

File metadata

  • Download URL: python-jose-3.3.0.tar.gz
  • Upload date:
  • Size: 129.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.8.6

File hashes

Hashes for python-jose-3.3.0.tar.gz
Algorithm Hash digest
SHA256 55779b5e6ad599c6336191246e95eb2293a9ddebd555f796a65f838f07e5d78a
MD5 60aaf59164e95a6ab160305b13a57d9a
BLAKE2b-256 e419b2c86504116dc5f0635d29f802da858404d77d930a25633d2e86a64a35b3

See more details on using hashes here.

File details

Details for the file python_jose-3.3.0-py2.py3-none-any.whl.

File metadata

  • Download URL: python_jose-3.3.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 33.5 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.8.6

File hashes

Hashes for python_jose-3.3.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 9b1376b023f8b298536eedd47ae1089bcdb848f1535ab30555cd92002d78923a
MD5 ba988940fcc426a9277f55329985f5c7
BLAKE2b-256 bd2de94b2f7bab6773c70efc70a61d66e312e1febccd9e0db6b9e0adf58cbad1

See more details on using hashes here.

Supported by

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