Llamadas de API autenticadas por HMAC con cargas de archivos de múltiples partes / datos de formulario

2

Tenemos una API existente donde los terceros pueden enviar datos. Las llamadas a la API se autentican con HMAC usando el mismo esquema que se describe en la biblioteca de Rubi ApiAuth que uso para verificar las solicitudes firmadas. Ahora necesitamos admitir las cargas de archivos de multipartes / datos de formulario.

Estoy intentando escribir un script de bash como una llamada de API de ejemplo usando cURL. Ya tengo uno que funciona sin cargas de archivos (solicitud POST con solo datos JSON) aquí .

La parte en la que estoy bloqueado está generando el $content_md5 para la solicitud de varias partes. Entiendo que el contenido de una solicitud multiparte tiene secciones de contenido separadas por la cadena de límite, como se describe aquí .

  • Problema 1: cURL genera su propia cadena de límite y la agrega a mi encabezado de tipo de contenido
  • Problema 2: ¿Debería MD5 el cuerpo completo de la solicitud con cadenas de límite y encabezados de sección incluidos?

Básicamente, necesito poder saber cuál es la cadena de límite para poder generar una cadena que se parece a las secciones de contenido y los límites descritos en enlace para que pueda MD5 it.

¿Hay una manera de hacer esto con solo cURL? ¿Existe una mejor manera de construir una solicitud multiparte firmada por HMAC?

Esperaba hacerlo con cURL para presentar como un ejemplo generalizado a desarrolladores de terceros que se integrarán con nuestra API para que puedan firmar sus solicitudes en el idioma que estén usando.

    
pregunta DiegoSalazar 08.04.2015 - 01:16
fuente

0 respuestas

Lea otras preguntas en las etiquetas