Este servicio será el encargado de notificarte cuando se esté procesando o cuando se complete una sesión de validación de identidad.
Junto con la notificación, enviaremos un conjunto de headers HTTP que te servirán para verificar su autenticidad.
Los headers HTTP que enviamos son:
X-Api-Key
: este header te permitirá identificar qué api-secret
tenés que usar en el caso que se hayan configurado múltiples pares de api-key
y api-secret
.
X-Signature
: este header contiene la firma digital (timestamp + endpoint + body) que deberás verificar para asegurar la integridad del request. Si la firma no coincide, deberás rechazar el pedido.
X-Timestamp
: este header contiene el momento en el que se firmó el pedido en formato unix-epoch para que puedas corroborar que la firma no expiró.
X-Endpoint
: el endpoint al que se realiza el pedido y usaste para generar la firma. Usa este header para regenerar la firma a validar, compararlo con el endpoint de tu servicio y verificar que coinciden.
La firma digital es un código HMAC-SHA256 que se construye usando el api-secret
y una serie de bytes que contienen la concatenación del timestamp, endpoint y request body codificados en UTF-8.
El siguiente es un pseudo-código para verificar que la firma digital de un request sea legítima:
requestSignature = request.headers['x-signature']
signatureData = encode(request.headers['x-timestamp'] + request.headers['x-endpoint'] + request.body , 'UTF-8')
clientApiSecretDecoded = base64.b64decode(apiSecret)
recreatedSignature = hmac(clientApiSecretDecoded, signatureData, 'SHA256')
validSignature = requestSignature == 'hmac-sha256 ' + recreatedSignature
Deberás indicarnos este endpoint para recibir las notificaciones de una sesión de validación de identidad. Nos deberás devolver un código HTTP del tipo 2xx para que no volvamos a enviar la notificación. Caso contrario, volveremos a enviarla.
api-secret
tenés que usar en el caso que se hayan configurado múltiples pares de api-key
y api-secret
.Deberás indicarnos este endpoint para recibir notificaciones de archivos requeridos. Nos deberás devolver un código HTTP del tipo 2xx para que no volvamos a enviar la notificación. Caso contrario, volveremos a enviarla.
api-secret
tenés que usar en el caso que se hayan configurado múltiples pares de api-key
y api-secret
.