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 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
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-2.0.2-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3b35cdb0e55a88581ff6d3f12de753aa459e940b50fe7ca5aa25149bc94cb37b |
|
MD5 | 1d04d0864eb25acc153ed992276dabcf |
|
BLAKE2b-256 | bf5c5fa238c0c5b0656994b52721dd8b1d7bf52ebd8786518dde794f44de86b6 |