- Notifications
You must be signed in to change notification settings - Fork249
A JOSE implementation in Python
License
mpdavis/python-jose
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
A JOSE implementation in Python
Docs are available onReadTheDocs.
The JavaScript Object Signing and Encryption (JOSE) technologies - JSONWeb Signature (JWS), JSON Web Encryption (JWE), JSON Web Key (JWK), andJSON Web Algorithms (JWA) - collectively can be used to encrypt and/orsign content using a variety of algorithms. While the full set ofpermutations is extremely large, and might be daunting to some, it isexpected that most applications will only use a small set of algorithmsto meet their needs.
$ pip install python-jose[cryptography]
As of 3.3.0, python-jose implements three different cryptographic backends.The backend must be selected as an extra when installing python-jose.If you do not select a backend, the native-python backend will be installed.
Unless otherwise noted, all backends support all operations.
Due to complexities with setuptools, the native-python backend is always installed,even if you select a different backend on install.We recommend that you remove unnecessary dependencies in production.
cryptography
- This backend usespyca/cryptography for all cryptographic operations.This is the recommended backend and is selected over all other backends if any others are present.
- Installation:
pip install python-jose[cryptography]
- Unused dependencies:
rsa
ecdsa
pyasn1
pycryptodome
- This backend usespycryptodome for all cryptographic operations.
- Installation:
pip install python-jose[pycryptodome]
- Unused dependencies:
rsa
native-python
- This backend usespython-rsa andpython-ecdsa for all cryptographic operations.This backend is always installed but any other backend will take precedence if one is installed.
- Installation:
pip install python-jose
Note
The native-python backend cannot process certificates.
>>>fromjoseimportjwt>>>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'}
This library was originally based heavily on the work of the folks over atPyJWT.
About
A JOSE implementation in Python
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.