Autenticación de Contratos
Dado que AutoPay enviará peticiones a tu servidor (Balance y Settlement), necesitas un mecanismo para asegurarte de que realmente somos nosotros y no un atacante.
Utilizamos el estándar HTTP Basic Authentication.
Credenciales
A diferencia de la API transaccional, en los contratos tú defines las credenciales y nosotros las utilizamos.
Estas credenciales se configuran en el proceso de Onboarding Solicitud de activación.
Objeto Authentication
La autenticación se envía en los headers de cada solicitud HTTP.
- Name
Authorization- Type
- string
- is Required
- REQUIRED
- Description
Header requerido. Se envía con el formato: Basic base64(username:password)
Autenticación de Ejemplo (Header)
Authorization: Basic bWVyY2hhbnRVc2VyOm1lcmNoYW50UGFzcw==
Cómo validar la autenticación
Tu servidor debe interceptar cada petición entrante y ejecutar la siguiente lógica de seguridad antes de procesar cualquier dato de negocio.
Algoritmo de validación
- Verificar Cabecera: Confirma que la petición tiene el header
Authorization. - Verificar Esquema: Asegúrate de que empieza con la palabra clave
Basic. - Decodificar: Toma la cadena después del espacio y decodifícala de Base64 para obtener
username:password. - Comparar: Separa el texto por los dos puntos (
:) y compara los valores con los que tienes configurados en tus variables de entorno. - Decidir:
- Si coinciden: Permite el acceso (HTTP 200).
- Si no coinciden: Rechaza inmediatamente (HTTP 401 Unauthorized).
Seguridad crítica: Estas credenciales son privadas y permiten inyectar datos en tu sistema.
- HTTPS: La autenticación Basic debe viajar siempre sobre canales cifrados.
- Código fuente: No compartas tus credenciales en áreas de acceso público como GitHub, ni las incluyas en código del lado del cliente (Frontend). Úsalas siempre mediante variables de entorno en tu servidor.