Source code for auth0.authentication.users

from __future__ import annotations

from typing import Any

from auth0.rest import RestClient, RestClientOptions
from auth0.types import TimeoutType


[docs]class Users: """Users client. Args: domain (str): The domain of your Auth0 tenant telemetry (bool, optional): Enable or disable telemetry (defaults to True) timeout (float or tuple, optional): Change the requests connect and read timeout. Pass a tuple to specify both values separately or a float to set both to it. (defaults to 5.0 for both) protocol (str, optional): Useful for testing. (defaults to 'https') """ def __init__( self, domain: str, telemetry: bool = True, timeout: TimeoutType = 5.0, protocol: str = "https", ) -> None: self.domain = domain self.protocol = protocol self.client = RestClient( None, options=RestClientOptions(telemetry=telemetry, timeout=timeout, retries=0), ) """Userinfo related endpoints. Args: domain (str): Your auth0 domain (e.g: username.auth0.com) """
[docs] def userinfo(self, access_token: str) -> dict[str, Any]: """Returns the user information based on the Auth0 access token. This endpoint will work only if openid was granted as a scope for the access_token. Args: access_token (str): Auth0 access token (obtained during login). Returns: The user profile. """ data: dict[str, Any] = self.client.get( url=f"{self.protocol}://{self.domain}/userinfo", headers={"Authorization": f"Bearer {access_token}"}, ) return data