Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

244
Visualizações
Traducir solicitud de Axios + crypto a cartero + cryptojs

Me gustaría hacer una solicitud a una API usando Postman. Hay un ejemplo en la documentación de la API para Javascript usando axios y crypto.

La documentación dice lo siguiente

Firmar una solicitud El valor de la X-App-Access-Sig es generado por un algoritmo HMAC sha256 utilizando una clave secreta (proporcionada en la generación del App Token) en los bytes obtenidos al concatenar la siguiente información:

  • Una marca de tiempo (valor del encabezado X-App-Access-Ts) tomado como una cadena
  • Un nombre de método HTTP en mayúsculas, por ejemplo, GET o POST
  • URI de la solicitud sin un nombre de host, comenzando con una barra inclinada e incluyendo todos los parámetros de consulta, por ejemplo, /resources/applicants/123?fields=info
  • Cuerpo de la solicitud, tomado exactamente como se enviará. Si no hay un cuerpo de solicitud, por ejemplo, para solicitudes GET, no lo incluya.

Ejemplo:

 const axios = require('axios'); const crypto = require('crypto'); var config = {}; config.baseURL= BASE_URL; axios.interceptors.request.use(createSignature, function (error) { return Promise.reject(error); }) function createSignature(config) { console.log('Creating a signature for the request...'); var ts = Math.floor(Date.now() / 1000); const signature = crypto.createHmac('sha256', SECRET_KEY); signature.update(ts + config.method.toUpperCase() + config.url); if (config.data instanceof FormData) { signature.update (config.data.getBuffer()); } else if (config.data) { signature.update (config.data); } config.headers['X-App-Access-Ts'] = ts; config.headers['X-App-Access-Sig'] = signature.digest('hex'); return config; }

Mi intento de implementar esto como un script de solicitud previa de cartero:

 var CryptoJs = require("crypto-js") console.log('Creating a signature for the request...'); const endpoint = pm.request.url.toString().split("{{BASE_URL}}").pop() var ts = Math.floor(Date.now() / 1000); const signature = CryptoJs.HmacSHA256(ts + pm.request.method.toUpperCase() + endpoint + pm.request.body, "{{SECRET_KEY}}") pm.request.headers.add({ key: 'X-App-Access-Ts', value: ts }) pm.request.headers.add({ key: 'X-App-Access-Sig', value: signature.toString(CryptoJs.enc.Hex) }) console.log(pm.request)

Pero me sale el error:

 { "description": "Request signature mismatch", "code": 401, "correlationId": "req-53db2067-b0ec-4ce8-b333-387b0b20a955", "errorCode": 4003, "errorName": "app-token-signature mismatch" }
about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda