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 HTTPpython-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:
-
Copia el archivo de ejemplo:
cp test_auth.py.example test_auth.py
-
Edita las credenciales en
test_auth.py:- Reemplaza las credenciales de ejemplo con las reales
- NO subas
test_auth.pycon credenciales reales a PyPI
-
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7c9d68a93b93ea99060975dea6657d940e74d7c0372cdf6bb5ff37c7b65a4e14
|
|
| MD5 |
ccd83cb8b44464d20b0abbab5f519d9e
|
|
| BLAKE2b-256 |
069593c1faee5c185b067834ea4005333e6c6fd1e49521771b95507f2aa591fa
|
File details
Details for the file tokenix_auth_component-0.1.4-py3-none-any.whl.
File metadata
- Download URL: tokenix_auth_component-0.1.4-py3-none-any.whl
- Upload date:
- Size: 7.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
50996663e2f71332cceaeecaeed3fc0f37dc3411ff2a97c382e1d5ffbdd827dd
|
|
| MD5 |
486389bc4fd32913f05aab01cd8244c2
|
|
| BLAKE2b-256 |
7c3db9e6a65ebaad8ff2d005b201e63dc41a25ee69590fa0c922238c545b30dc
|