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.4.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.4-py3-none-any.whl (7.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: tokenix_auth_component-0.1.4.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.4.tar.gz
Algorithm Hash digest
SHA256 7c9d68a93b93ea99060975dea6657d940e74d7c0372cdf6bb5ff37c7b65a4e14
MD5 ccd83cb8b44464d20b0abbab5f519d9e
BLAKE2b-256 069593c1faee5c185b067834ea4005333e6c6fd1e49521771b95507f2aa591fa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tokenix_auth_component-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 50996663e2f71332cceaeecaeed3fc0f37dc3411ff2a97c382e1d5ffbdd827dd
MD5 486389bc4fd32913f05aab01cd8244c2
BLAKE2b-256 7c3db9e6a65ebaad8ff2d005b201e63dc41a25ee69590fa0c922238c545b30dc

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