Skip to main content

Python Identity Provider package

Overview​

The packages in the Aserto Python SDK use an Identity abstraction to represent the identity of the accessing user in an authorization request. The aserto-idp package provides some utilities that eases the creation of Identity objects for different Identity Providers.

Installation​

Using pip:

pip install aserto-idp

Using Poetry:

poetry add aserto-idp

Usage​

note

Currently the Python SDK supports Auth0 as an identity provider. More are on the way!

Creating an Auth0 Identity​

from aserto import Identity
from aserto_idp.auth0 import AccessTokenError, generate_oauth_subject_from_auth_header

try:
subject = await generate_oauth_subject_from_auth_header(
authorization_header=AUTHORIZATION_HEADER,
domain=AUTH0_DOMAIN,
client_id=AUTH0_CLIENT_ID,
audience=AUTH0_AUDIENCE,
)

identity = Identity(type="SUBJECT", subject=subject)
except AccessTokenError:
# An `Identity` representing an anonymous/logged-out user
identity = Identity(type="NONE")