Skip to main content

Python utilities for Auth0

Project description

pyauth0

Test Coverage Status PyPI version

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


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 hashes)

Uploaded Source

Built Distribution

pyauth0-0.2.0-py3-none-any.whl (8.4 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page