auth0_jwt_validator

Python Auth0 JWT Validator

A JWT python package to validate tokens, scopes and permissions for Auth0 tokens.

Examples

Validating ID Token

>>> from auth0_jwt_validator import IdTokenVerifier
>>> auth0_jwks_uri = "https://<auth0-tenant>.us.auth0.com/.well-known/jwks.json"
>>> issuer = "https://<auth0-tenant>.us.auth0.com/"
>>> audience = "https://<auth0-tenant>.us.auth0.com/api/v2/"
>>> token_verifier = IdTokenVerifier(auth0_jwks_uri, issuer, audience)
>>> token_verifier.verify("some-id-token")

Validating ID Token and nonce

>>> from auth0_jwt_validator import IdTokenVerifier
>>> auth0_jwks_uri = "https://<auth0-tenant>.us.auth0.com/.well-known/jwks.json"
>>> issuer = "https://<auth0-tenant>.us.auth0.com/"
>>> audience = "https://<auth0-tenant>.us.auth0.com/api/v2/"
>>> token_verifier = IdTokenVerifier(auth0_jwks_uri, issuer, audience)
>>> token_verifier.verify("some-id-token", nonce="some-random-string")

Validating ID Token and max_age

>>> from auth0_jwt_validator import IdTokenVerifier
>>> auth0_jwks_uri = "https://<auth0-tenant>.us.auth0.com/.well-known/jwks.json"
>>> issuer = "https://<auth0-tenant>.us.auth0.com/"
>>> audience = "https://<auth0-tenant>.us.auth0.com/api/v2/"
>>> token_verifier = IdTokenVerifier(auth0_jwks_uri, issuer, audience)
>>> token_verifier.verify("some-id-token", max_age=60 * 60 * 24)

Validating ID Token and organization

>>> from auth0_jwt_validator import IdTokenVerifier
>>> auth0_jwks_uri = "https://<auth0-tenant>.us.auth0.com/.well-known/jwks.json"
>>> issuer = "https://<auth0-tenant>.us.auth0.com/"
>>> audience = "https://<auth0-tenant>.us.auth0.com/api/v2/"
>>> token_verifier = IdTokenVerifier(auth0_jwks_uri, issuer, audience)
>>> token_verifier.verify("some-id-token", organization="some-organization")

Validating Access Token

>>> from auth0_jwt_validator import AccessTokenVerifier
>>> auth0_jwks_uri = "https://<auth0-tenant>.us.auth0.com/.well-known/jwks.json"
>>> issuer = "https://<auth0-tenant>.us.auth0.com/"
>>> audience = "https://<auth0-tenant>.us.auth0.com/api/v2/"
>>> token_verifier = AccessTokenVerifier(auth0_jwks_uri, issuer, audience)
>>> token_verifier.verify("some-access-token")

Validating Access Token and organization

>>> from auth0_jwt_validator import AccessTokenVerifier
>>> auth0_jwks_uri = "https://<auth0-tenant>.us.auth0.com/.well-known/jwks.json"
>>> issuer = "https://<auth0-tenant>.us.auth0.com/"
>>> audience = "https://<auth0-tenant>.us.auth0.com/api/v2/"
>>> token_verifier = AccessTokenVerifier(auth0_jwks_uri, issuer, audience)
>>> token_verifier.verify("some-access-token", organization="some-organization")

Validating Access Token and scopes

>>> from auth0_jwt_validator import AccessTokenVerifier
>>> auth0_jwks_uri = "https://<auth0-tenant>.us.auth0.com/.well-known/jwks.json"
>>> issuer = "https://<auth0-tenant>.us.auth0.com/"
>>> audience = "https://<auth0-tenant>.us.auth0.com/api/v2/"
>>> token_verifier = AccessTokenVerifier(auth0_jwks_uri, issuer, audience)
>>> token_verifier.verify("some-access-token", required_scopes=["profile", "calendar"])

Validating Access Token and permissions

>>> from auth0_jwt_validator import AccessTokenVerifier
>>> auth0_jwks_uri = "https://<auth0-tenant>.us.auth0.com/.well-known/jwks.json"
>>> issuer = "https://<auth0-tenant>.us.auth0.com/"
>>> audience = "https://<auth0-tenant>.us.auth0.com/api/v2/"
>>> token_verifier = AccessTokenVerifier(auth0_jwks_uri, issuer, audience)
>>> token_verifier.verify("some-access-token", required_permissions=["read:user", "delete:user"])
View Source
 0""" Python Auth0 JWT Validator
 1
 2A JWT python package to validate tokens, scopes and permissions for Auth0 tokens.
 3
 4Examples
 5--------
 6
 7Validating ID Token
 8
 9>>> from auth0_jwt_validator import IdTokenVerifier
10>>> auth0_jwks_uri = "https://<auth0-tenant>.us.auth0.com/.well-known/jwks.json"
11>>> issuer = "https://<auth0-tenant>.us.auth0.com/"
12>>> audience = "https://<auth0-tenant>.us.auth0.com/api/v2/"
13>>> token_verifier = IdTokenVerifier(auth0_jwks_uri, issuer, audience)
14>>> token_verifier.verify("some-id-token")
15
16Validating ID Token and nonce
17
18>>> from auth0_jwt_validator import IdTokenVerifier
19>>> auth0_jwks_uri = "https://<auth0-tenant>.us.auth0.com/.well-known/jwks.json"
20>>> issuer = "https://<auth0-tenant>.us.auth0.com/"
21>>> audience = "https://<auth0-tenant>.us.auth0.com/api/v2/"
22>>> token_verifier = IdTokenVerifier(auth0_jwks_uri, issuer, audience)
23>>> token_verifier.verify("some-id-token", nonce="some-random-string")
24
25Validating ID Token and max_age
26
27>>> from auth0_jwt_validator import IdTokenVerifier
28>>> auth0_jwks_uri = "https://<auth0-tenant>.us.auth0.com/.well-known/jwks.json"
29>>> issuer = "https://<auth0-tenant>.us.auth0.com/"
30>>> audience = "https://<auth0-tenant>.us.auth0.com/api/v2/"
31>>> token_verifier = IdTokenVerifier(auth0_jwks_uri, issuer, audience)
32>>> token_verifier.verify("some-id-token", max_age=60 * 60 * 24)
33
34Validating ID Token and organization
35
36>>> from auth0_jwt_validator import IdTokenVerifier
37>>> auth0_jwks_uri = "https://<auth0-tenant>.us.auth0.com/.well-known/jwks.json"
38>>> issuer = "https://<auth0-tenant>.us.auth0.com/"
39>>> audience = "https://<auth0-tenant>.us.auth0.com/api/v2/"
40>>> token_verifier = IdTokenVerifier(auth0_jwks_uri, issuer, audience)
41>>> token_verifier.verify("some-id-token", organization="some-organization")
42
43Validating Access Token
44
45>>> from auth0_jwt_validator import AccessTokenVerifier
46>>> auth0_jwks_uri = "https://<auth0-tenant>.us.auth0.com/.well-known/jwks.json"
47>>> issuer = "https://<auth0-tenant>.us.auth0.com/"
48>>> audience = "https://<auth0-tenant>.us.auth0.com/api/v2/"
49>>> token_verifier = AccessTokenVerifier(auth0_jwks_uri, issuer, audience)
50>>> token_verifier.verify("some-access-token")
51
52Validating Access Token and organization
53
54>>> from auth0_jwt_validator import AccessTokenVerifier
55>>> auth0_jwks_uri = "https://<auth0-tenant>.us.auth0.com/.well-known/jwks.json"
56>>> issuer = "https://<auth0-tenant>.us.auth0.com/"
57>>> audience = "https://<auth0-tenant>.us.auth0.com/api/v2/"
58>>> token_verifier = AccessTokenVerifier(auth0_jwks_uri, issuer, audience)
59>>> token_verifier.verify("some-access-token", organization="some-organization")
60
61Validating Access Token and scopes
62
63>>> from auth0_jwt_validator import AccessTokenVerifier
64>>> auth0_jwks_uri = "https://<auth0-tenant>.us.auth0.com/.well-known/jwks.json"
65>>> issuer = "https://<auth0-tenant>.us.auth0.com/"
66>>> audience = "https://<auth0-tenant>.us.auth0.com/api/v2/"
67>>> token_verifier = AccessTokenVerifier(auth0_jwks_uri, issuer, audience)
68>>> token_verifier.verify("some-access-token", required_scopes=["profile", "calendar"])
69
70Validating Access Token and permissions
71
72>>> from auth0_jwt_validator import AccessTokenVerifier
73>>> auth0_jwks_uri = "https://<auth0-tenant>.us.auth0.com/.well-known/jwks.json"
74>>> issuer = "https://<auth0-tenant>.us.auth0.com/"
75>>> audience = "https://<auth0-tenant>.us.auth0.com/api/v2/"
76>>> token_verifier = AccessTokenVerifier(auth0_jwks_uri, issuer, audience)
77>>> token_verifier.verify("some-access-token", required_permissions=["read:user", "delete:user"])
78"""
79
80__version__ = "0.1"
81
82from .http_bearer import get_token  # noqa
83from .jwt_verifier import (  # noqa
84    AccessTokenVerifier,
85    IdTokenVerifier,
86    InvalidClaimError,
87    JwtVerifier,
88    MissingClaimError,
89    jwt,
90)