Skip to main content

Simple JWT

PyPI version


Why?

I created this package because I found that I often needed to see the cliams of a JWT token and wether it was expired or not. I didn't need to verify it the signatures. I wanted a package to check if the token was expired, so I could refresh my token or take other actions based off that. Most other packages seemed to require verified signatures or would throw errors if a key was not provided. Just needed a simple package to get the cliams info and if the token was expired. Simple JWT.

Table of Contents

Installation

pip install simple-jwt-decode

Usage

Decode

from simple_jwt import jwt

jwt.decode(token)

Should return at dict that looks similar to the following:

{'headers': {'alg': 'HS512'}, 'claims': {'exp': 1681337256, 'iat': 1681333656, 'sid': '15307164276', 'aid': '8652598085', 'cid': '50430702', 'type': 'r'}, 'signature': 'jmFoOydgYnL8AqmgnLSFU2l_E6q3pnPHh7ss-g7xKO7tLD_JY8vZR3O-cthNInFzi9G2M3t2boRzMTatlbsZ7Q'}

Expired

from simple_jwt import jwt
expired = jwt.is_expired(token)

if (expired):
    print('Your JWT token is expired! Oh no! Better get a new one')
else:
    print('Your JWT token is not expired; No need to refesh at the moment')

CLI Usage

You can also use the command-line interface to decode JWT tokens:

jwt <token>

This will display the decoded token headers, claims, and signature, as well as whether the token is expired.

Options:

  • --check-expiry or -e: Only check if the token is expired
  • --raw or -r: Print raw decoded data without formatting

Example:

jwt <token>

License

simple-jwt is distributed under the terms of the MIT license.

Release files for simple-jwt-decode 0.10.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for simple-jwt-decode 0.10.0
File Size Uploaded
simple_jwt_decode-0.10.0.tar.gz 7.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for simple-jwt-decode 0.10.0
File Interpreter ABI Platform
simple_jwt_decode-0.10.0-py3-none-any.whl Python 3 none any Details

Total release size: 12.8 kB

Release files / simple_jwt_decode-0.10.0.tar.gz

Download URL simple_jwt_decode-0.10.0.tar.gz
Size 7.1 kB
Tags Source
SHA-256 checksum
How to use checksums
f3ee891c67e51e27e0ac9f7efa2f2247cf87ab725d0223f727fd63fc029a874c
BLAKE2b-256 checksum
How to use checksums
0bafcaa3ae8bb961c47fd388bf02ace410e230ba39b008f992acb827a1a82cc5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.8

Release files / simple_jwt_decode-0.10.0-py3-none-any.whl

Download URL simple_jwt_decode-0.10.0-py3-none-any.whl
Size 5.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
dfd144499881db52ed7636afc156bf17fb4b8fab33ed6220ad4bf86723fe9a2c
BLAKE2b-256 checksum
How to use checksums
4c6db1d157ffef77c2df86f8836002403eee6daa6886c6b7beee08201b3d2cef
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.8

Release history Release notifications | RSS feed

This release

0.10.0 This release

2 release files

0.9.0

2 release files

0.8.0

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page