Autenticación y Seguridad
El API Connector es el núcleo transaccional del sistema. Para garantizar la máxima seguridad, no utilizamos una base de datos de usuarios tradicional para esta capa; en su lugar, nos apalancamos en la infraestructura de Google Cloud Identity and Access Management (IAM).
Modelo de Seguridad
Todas las solicitudes a la API deben estar autenticadas. El servicio está configurado para aceptar únicamente peticiones que provengan de identidades autorizadas.
Existen dos formas principales de autenticarse dependiendo de cómo integres tu sistema:
1. Autenticación mediante ID Token (Recomendado)
Para consumir los endpoints de la API, debes incluir un ID Token de Google en el encabezado Authorization de tu petición.
Cómo obtener el Token
Si estás consumiendo la API desde otro servicio o script, puedes obtener el token de identidad de la siguiente manera:
Petición de ejemplo (cURL):
curl -X GET "https://api-connector.gtcmexico.net/health" \
-H "Authorization: Bearer $(gcloud auth print-identity-token)"
Estructura del Header
El encabezado debe lucir así:
Authorization: Bearer <TU_ID_TOKEN_DE_GOOGLE>
2 Acceso para Desarrolladores / Integraciones Externas
Si eres un cliente externo que necesita conectar su propio sistema al API Connector, el proceso es el siguiente:
-
Provisión de Service Account: Nosotros te asignaremos una Cuenta de Servicio (
Service Account) con permisos limitados de invocación. -
Generación de JWT: Tu sistema deberá usar el archivo de llave (.json) de esa cuenta para generar un ID Token de Google antes de cada transacción.
-
Vigencia: Los tokens tienen una duración máxima de 1 hora, por lo que tu integración debe ser capaz de refrescarlos automáticamente.
Estados de Autenticación
Al interactuar con la API, podrías recibir los siguientes códigos de respuesta relacionados con la identidad:
| Código | Significado | Causa Común |
|---|---|---|
| 200 | OK | Autenticación exitosa. |
| 401 | Unauthorized | El token ha expirado o no se incluyó en el header. |
| 403 | Forbidden | El token es válido, pero la cuenta no tiene permisos. |
Nunca compartas tus llaves de Service Account ni los ID Tokens en repositorios públicos. Estos tokens dan acceso directo a la ejecución de transacciones financieras (recargas).