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.

Installation

$ pip install python-jose

Custom Backends

As of 3.0.0, python-jose uses the pure-python rsa module by default for RSA signing and verification. If necessary, other RSA backends are supported. Options include crytography, pycryptodome, and pycrypto.

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

It is reccomended that a custom backend is used in production, as the pure-python rsa module is slow.

The crytography option is a good default.

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

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

Uploaded Source

Built Distribution

python_jose-3.0.0-py2.py3-none-any.whl (25.3 kB view details)

Uploaded Python 2 Python 3

File details

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

File metadata

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

File hashes

Hashes for python-jose-3.0.0.tar.gz
Algorithm Hash digest
SHA256 e8255fb3cc524c04f4c790547a6215468f2a32d3a866424175523359e69f3aeb
MD5 ba6e57ab9b90102a6d99158b24787cad
BLAKE2b-256 f4929f4c77930c18f02931b266229f865273283f8eaaf590ea2abd3f03f89f44

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for python_jose-3.0.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 e06dd2e5e9125da79b519ff2652b8c666d64a5ea228fcd9862e0b29a534ccc53
MD5 5f1ec747ed7bf092d619a2543082f8cf
BLAKE2b-256 445bc8adb4d8052b2c7ced00888e1cd7b2b18d0493019faf0163617bdbde59d8

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