JOSE implementation in Python
Project description
A JOSE implementation in Python
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for python_jose-3.0.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e06dd2e5e9125da79b519ff2652b8c666d64a5ea228fcd9862e0b29a534ccc53 |
|
MD5 | 5f1ec747ed7bf092d619a2543082f8cf |
|
BLAKE2b-256 | 445bc8adb4d8052b2c7ced00888e1cd7b2b18d0493019faf0163617bdbde59d8 |