Skip to content

teeberg/python-jwt

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

https://travis-ci.org/GehirnInc/python-jwt.svg?branch=master https://coveralls.io/repos/GehirnInc/python-jwt/badge.png?branch=master https://badge.fury.io/py/jwt.svg?dummy

python-jwt

python-jwt is a JSON Web Token (JWT) implementation in Python developed by Gehirn Inc.

Examples

import json

from jwt import (
    JWT,
    jwk_from_dict,
    jwk_from_pem,
)

message = {
    'iss': 'https://example.com/',
    'sub': 'yosida95',
    'iat': 1485969205,
    'exp': 1485972805,
}

with open('rsa_private_key.pem', 'rb') as fh:
    signing_key = jwk_from_pem(fh.read())

jwt = JWT()
compact_jws = jwt.encode(message, signing_key, 'RS256')

with open('rsa_public_key.json', 'r') as fh:
    verifying_key = jwk_from_dict(json.load(fh))

message_received = jwt.decode(compact_jws, verifying_key)

assert message == message_received

Installation

You can install python-jwt with pip.

$ pip install jwt

Implementation Details

Supported Algorithms

  • Unsecured
    • none
  • Symmetric
    • HS256
    • HS384
    • HS512
  • Asymmetric
    • RS256
    • RS384
    • RS512

Supported Python Versions

  • Python 3.4
  • Python 3.5
  • Python 3.6

License

python-jwt is licensed under the Apache License version 2. See ./LICENSE.rst.

About

JSON Web Token library for Python

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%