Skip to main content

Tokenix Auth Component

Componente de autenticación reutilizable para lambdas de RapidCredit que requieran autenticarse en Tokenix.

Instalación

pip install tokenix-auth-component

Dependencias

El paquete requiere las siguientes dependencias (se instalan automáticamente):

  • requests>=2.25.0 - Para peticiones HTTP
  • python-dotenv>=0.19.0 - Para variables de entorno (opcional)

Uso

Importar el cliente

from auth_component import create_auth_client

Obtener accessToken

# Crear cliente
auth_client = create_auth_client()

# Obtener accessToken
access_token = auth_client.get_access_token(
    api_key="tu-api-key",
    email_auth="email-para-primer-endpoint",
    password_auth="password-para-primer-endpoint", 
    email_user="email-para-segundo-endpoint",
    password_user="password-para-segundo-endpoint"
)

Realizar peticiones autenticadas

# Realizar petición HTTP autenticada
response = auth_client.make_request(
    method="GET",  # o "POST", "PUT", "DELETE"
    endpoint="/v2/user/profile",
    api_key="tu-api-key",
    email_auth="email-para-primer-endpoint",
    password_auth="password-para-primer-endpoint",
    email_user="email-para-segundo-endpoint", 
    password_user="password-para-segundo-endpoint",
    data={"key": "value"},  # opcional para POST/PUT
    params={"param": "value"}  # opcional para query parameters
)

Uso con context manager

with create_auth_client() as auth_client:
    access_token = auth_client.get_access_token(**credentials)
    response = auth_client.make_request("GET", "/v2/endpoint", **credentials)

Variables de Entrada

Variable Descripción Ejemplo
api_key Clave API de Tokenix "xxx-xxx-xxxx"
email_auth Email para primer endpoint de autenticación "user+api@token-city.com"
password_auth Password para primer endpoint de autenticación "password123"
email_user Email para segundo endpoint de autenticación "user-manager@token-city.com"
password_user Password para segundo endpoint de autenticación "managerPassword123"

Manejo de Errores

El paquete incluye manejo de errores específicos:

from auth_component import AuthError, InvalidCredentialsError, ServiceUnavailableError

try:
    access_token = auth_client.get_access_token(**credentials)
except InvalidCredentialsError:
    print("Credenciales inválidas")
except ServiceUnavailableError:
    print("Servicio no disponible")
except AuthError:
    print("Error de autenticación general")

Ejemplo Completo

from auth_component import create_auth_client

# Credenciales
credentials = {
    "api_key": "tu-api-key",
    "email_auth": "email-auth@token-city.com",
    "password_auth": "password-auth",
    "email_user": "email-user@token-city.com", 
    "password_user": "password-user"
}

# Usar cliente
with create_auth_client() as auth_client:
    # Obtener token
    token = auth_client.get_access_token(**credentials)
    print(f"Token: {token}")
    
    # Hacer petición
    response = auth_client.make_request("GET", "/v2/user/profile", **credentials)
    print(f"Status: {response.status_code}")
    print(f"Data: {response.json()}")

Pruebas

Para probar el paquete localmente:

  1. Copia el archivo de ejemplo:

    cp test_auth.py.example test_auth.py
    
  2. Edita las credenciales en test_auth.py:

    • Reemplaza las credenciales de ejemplo con las reales
    • NO subas test_auth.py con credenciales reales a PyPI
  3. Ejecuta las pruebas:

    python3 test_auth.py
    

⚠️ Importante: El archivo test_auth.py con credenciales reales debe mantenerse local y no subirse a repositorios públicos.

Metadata

Release files for tokenix-auth-component 0.1.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for tokenix-auth-component 0.1.4
File Size Uploaded
tokenix_auth_component-0.1.4.tar.gz 7.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for tokenix-auth-component 0.1.4
File Interpreter ABI Platform
tokenix_auth_component-0.1.4-py3-none-any.whl Python 3 none any Details

Total release size: 14.8 kB

Release files / tokenix_auth_component-0.1.4.tar.gz

Download URL tokenix_auth_component-0.1.4.tar.gz
Size 7.6 kB
Tags Source
SHA-256 checksum
How to use checksums
7c9d68a93b93ea99060975dea6657d940e74d7c0372cdf6bb5ff37c7b65a4e14
BLAKE2b-256 checksum
How to use checksums
069593c1faee5c185b067834ea4005333e6c6fd1e49521771b95507f2aa591fa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.12

Release files / tokenix_auth_component-0.1.4-py3-none-any.whl

Download URL tokenix_auth_component-0.1.4-py3-none-any.whl
Size 7.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
50996663e2f71332cceaeecaeed3fc0f37dc3411ff2a97c382e1d5ffbdd827dd
BLAKE2b-256 checksum
How to use checksums
7c3db9e6a65ebaad8ff2d005b201e63dc41a25ee69590fa0c922238c545b30dc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.12

Release history Release notifications | RSS feed

This release

0.1.4 This release

2 release files

0.1.3

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page