Skip to main content

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

Project description

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.

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

tokenix_auth_component-0.1.3.tar.gz (7.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tokenix_auth_component-0.1.3-py3-none-any.whl (7.1 kB view details)

Uploaded Python 3

File details

Details for the file tokenix_auth_component-0.1.3.tar.gz.

File metadata

  • Download URL: tokenix_auth_component-0.1.3.tar.gz
  • Upload date:
  • Size: 7.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.12

File hashes

Hashes for tokenix_auth_component-0.1.3.tar.gz
Algorithm Hash digest
SHA256 cb871883321ab0ddbe9db6e2a0e6db0f3a6cd5ab29af8d41333005fec92bf58f
MD5 726ba8b5793518fcc84df48e96badde0
BLAKE2b-256 69f60b2b8f0556a71dce0956cf4cccb34506e95647fcc850f2e8242f44aa86b3

See more details on using hashes here.

File details

Details for the file tokenix_auth_component-0.1.3-py3-none-any.whl.

File metadata

File hashes

Hashes for tokenix_auth_component-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 7827aad295fe849c64631cf9b1efdfd575bdbcc02754b5ef8204326478c3cbf0
MD5 d73a0d66209839b6daa9af868391d5de
BLAKE2b-256 a065585144ba9b62ab5d45fd091850ebfd31a74e41a6862e77ec8fabacb9764d

See more details on using hashes here.

Supported by

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