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.1-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5fa63221625c3f8da4c683cee862b015fe385802ac0e5bbaf0a7fd653456d679 |
|
MD5 | 9367ebd1d30bbdc41e14b295f6e43d6e |
|
BLAKE2b-256 | 5a343301261e727c26458d724fd6dca51e532d1620e468a019b00ba42127214c |