Python utilities for Auth0
Project description
pyauth0
Python utilities for Auth0.
Install
pip install pyauth0
Usage
Get a machine-to-machine token
import asyncio
import httpx
from pyauth0 import TokenProvider
token_provider = TokenProvider(
issuer="your-domain.auth0.com",
audience="https://api.your-domain.com",
client_id="1234",
client_secret="secret"
)
async def main():
authorization = await token_provider.get_authorization()
async with httpx.AsyncClient() as client:
# Machine to machine request
response = await client.get(
"https://api.your-domain.com",
headers={"authorization": authorization},
)
print(response.content)
asyncio.run(main())
Verify a token
import asyncio
from pyauth0 import TokenVerifier, Auth0Error
token_verifier = TokenVerifier(
issuer="your-domain.auth0.com",
audience="https://api.your-domain.com",
jwks_cache_ttl=60, # optional
)
async def main():
try:
decoded_token = await token_verifier.verify(
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...."
)
except Auth0Error as error:
status_code = error.status_code # suggested status code (401 or 403)
code = error.code # auth0 error code (example "token_expired")
description = error.description # auth0 error description (example "Token is expired.")
raise error
claim_value = decoded_token.payload.get("http://your-domain.com/claim_name", "default value")
asyncio.run(main())
Contribute
If you want to contribute, open a GitHub Issue and motivate your request.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pyauth0-0.2.0.tar.gz
(7.1 kB
view details)
Built Distribution
File details
Details for the file pyauth0-0.2.0.tar.gz
.
File metadata
- Download URL: pyauth0-0.2.0.tar.gz
- Upload date:
- Size: 7.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.2 CPython/3.10.12 Linux/6.5.0-1018-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | dad1c788f6d8d5ccf020113ff7d1c525c2c751f40bee63536e72e7cc8bbdc2d3 |
|
MD5 | fe9b724b3e6ef59ae68125a237a796f4 |
|
BLAKE2b-256 | f730ce954900976cd5bdd2a44935837db6b726bfda61708682278f02427915d9 |
File details
Details for the file pyauth0-0.2.0-py3-none-any.whl
.
File metadata
- Download URL: pyauth0-0.2.0-py3-none-any.whl
- Upload date:
- Size: 8.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.2 CPython/3.10.12 Linux/6.5.0-1018-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e6f066abaee4ba90878f65e7a49cdc1d91e6262c02eddd877747331488918845 |
|
MD5 | e3fb699f5f7877e1ac89b17eb834830b |
|
BLAKE2b-256 | dbd6863ef876158891cb05e7178c6ec11c06ab95e1d5b9b7bbbb0c616efe902a |