Skip to main content

JOSE implementation in Python

Project description

A JOSE implementation in Python

Build Status Coverage Status Docs

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.

Principles

This is a JOSE implementation that is fully compatible with Google App Engine which requires the use of the PyCrypto library.

Installation

$ pip install python-jose

Custom Backends

As of 2.0.0, python-jose uses pycryptodome by default for RSA signing and verification. If necessary, other RSA backends are supported. Both pycrpyto and crytography are options.

In order to use a custom backend, install python-jose with the appropriate extra.

$ pip install python-jose[pycrypto]
$ pip install python-jose[crytography]

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-2.0.0.tar.gz (17.2 kB view details)

Uploaded Source

Built Distribution

python_jose-2.0.0-py2.py3-none-any.whl (22.1 kB view details)

Uploaded Python 2 Python 3

File details

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

File metadata

  • Download URL: python-jose-2.0.0.tar.gz
  • Upload date:
  • Size: 17.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for python-jose-2.0.0.tar.gz
Algorithm Hash digest
SHA256 658ecdc0c0c7f5b2fa60d230c61ecbd718dc8b168216c68723f71bf6df7d2c11
MD5 3a515d87034eb76ce1915c37e0123901
BLAKE2b-256 2cdd2e02846618af16587b70e89ddc958e9e4714a96786ed3ee47ceeed4a3e8b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for python_jose-2.0.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 0f38b5d0bb7df491abcfec5765a2bcd31f28495d366dab05fb15797c2fc8d2ab
MD5 6d1f2d82e3014df44b9585fc13ce1c98
BLAKE2b-256 b8abcce1b45f00fccfbf9bf10c49ed2f992dc1268ee6a6514e2f48de76cb80a0

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