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)