Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

A JOSE implementation in Python

License

NotificationsYou must be signed in to change notification settings

mpdavis/python-jose

Repository files navigation

A JOSE implementation in Python

PyPIGithub Actions CI StatusCoverage StatusDocsCode style: black

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.

Installation

$ pip install python-jose[cryptography]

Cryptographic Backends

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.

  1. 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
  2. pycryptodome

    • This backend usespycryptodome for all cryptographic operations.
    • Installation:pip install python-jose[pycryptodome]
    • Unused dependencies:
      • rsa
  3. 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.

Usage

>>>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'}

Thanks

This library was originally based heavily on the work of the folks over atPyJWT.


[8]ページ先頭

©2009-2025 Movatter.jp