Welcome to PyJWT
¶
PyJWT
is a Python library which allows you to encode and decode JSON Web
Tokens (JWT). JWT is an open, industry-standard (RFC 7519) for representing
claims securely between two parties.
Sponsor¶
![]() |
If you want to quickly add secure token-based authentication to Python projects, feel free to check Auth0’s Python SDK and free plan at auth0.com/developers. |
Installation¶
You can install pyjwt
with pip
:
$ pip install pyjwt
See Installation for more information.
Example Usage¶
>>> import jwt
>>> encoded_jwt = jwt.encode({"some": "payload"}, "secret", algorithm="HS256")
>>> print(encoded_jwt)
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzb21lIjoicGF5bG9hZCJ9.4twFt5NiznN84AWoo1d7KO1T_yoc0Z6XOpOVswacPZg
>>> jwt.decode(encoded_jwt, "secret", algorithms=["HS256"])
{'some': 'payload'}
See Usage Examples for more examples.
Index¶
- Installation
- Usage Examples
- Encoding & Decoding Tokens with HS256
- Encoding & Decoding Tokens with RS256 (RSA)
- Specifying Additional Headers
- Reading the Claimset without Validation
- Reading Headers without Validation
- Registered Claim Names
- Requiring Presence of Claims
- Retrieve RSA signing keys from a JWKS endpoint
- OIDC Login Flow
- Frequently Asked Questions
- Digital Signature Algorithms
- API Reference
- Changelog