Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

306
Vistas
Autorización de IAM de AWS API Gateway: generación de firma mediante crypto.js

Estoy trabajando en una aplicación para la plataforma Jira Cloud utilizando forge framework. Creé un punto de enlace HTTP con AWS API Gateway. Este punto final activa una función lambda que realiza alguna operación en DynamoDB. Empleé la autorización de IAM para el punto final. Después de fallar las pruebas para usar la biblioteca aws4 con forge, utilicé la siguiente función que se tomó de la documentación de AWS para crear la clave de firma. Sin embargo, al enviar la solicitud usando javascript, siempre obtengo "{mensaje: Prohibido}".:

 export function getAWSHeaders(){ const accessKey = "" const secretKey = "" const regionName = "us-east-1" const serviceName = "execute-api" var date = new Date().toISOString().split('.')[0] + 'Z'; date = date.split("-").join("").split(":").join("") var dateWithoutTime = date.split("T")[0] var myHeaders = {} myHeaders["X-Amz-Date"] = date; var crypto = require("crypto-js"); var kDate = crypto.HmacSHA256(dateWithoutTime, "AWS4" + secretKey); var kRegion = crypto.HmacSHA256(regionName, kDate); var kService = crypto.HmacSHA256(serviceName, kRegion); var kSigning = crypto.HmacSHA256("aws4_request", kService); myHeaders["Authorization"] = "AWS4-HMAC-SHA256 Credential=" + accessKey + "/" + dateWithoutTime + "/us-east-1/execute-api/aws4_request, SignedHeaders=host;x-amz-date, Signature=" + kSigning return myHeaders; }

Así es como envío la solicitud:

 resolver.define("test", async ({context}) => { var url = "" var myHeaders = getAWSHeaders() var requestOptions = { method: 'GET', headers: myHeaders, redirect: 'follow' }; const result = await fetch(url, requestOptions)

No puedo averiguar qué está mal con mi generación de clave de firma. Revisé varias publicaciones pero no pude encontrar una solicitud de muestra. Gracias por la ayuda por adelantado.

PD: Lo probé usando Postman, funciona con la autorización "AWS Signature" en Postman.

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda