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
CORS AWS API-Gateway con autenticación Angular2

mi AWS API-Gateway está configurado como Lambda Proxy. En Lambda agregué los siguientes encabezados:

 'Access-Control-Allow-Origin': '*', 'Access-Control-Allow-Methods': '*', 'Access-Control-Allow-Headers': 'Content-Type,X-Amz-Date,Authorization,X-Api-Key'

Primero, everythink funciona bien con eso. Ahora agregué un autorizador con CognitoUserPool y obtengo el siguiente error:

 XMLHttpRequest cannot load https://xxx.eu-west-1.amazonaws.com/xxx/xxx. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost' is therefore not allowed access. The response had HTTP status code 401.

Creo que el problema es que con la autenticación, mi función Lambda no se invoca y, por lo tanto, no se establecieron encabezados. Llamo al punto final desde una aplicación Angular2 con

 const headers = new Headers(); headers.append('Authorization', 'authtoken'); http.get('address...', headers);

Pero creo que los encabezados no se configuraron/añadieron a la solicitud debido a cualquier razón CORS.

¿Alguien tiene una idea de cómo puedo solucionar esto?

PD: probé la función "Habilitar Cors" de API-Gateway pero no funciona.

Editar: también tengo un método de "OPCIONES" en Gateway con autenticación, que responde con los encabezados anteriores.

Saludos

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

¿Su función Lambda Proxy se asigna a ANY tipo de método HTTP? Si es así, es posible que esté intentando realizar la autenticación en la solicitud previa al vuelo ( OPTIONS ). Si este es el caso, intente asignar su función de proxy a POST , GET , etc. específicamente.

over 4 years ago · Santiago Trujillo Denunciar

0

Encontré la solución del problema. No fue causado por API-Gateway. El problema era este código:

 const headers = new Headers(); headers.append('Authorization', 'authtoken'); http.get('address...', headers);

El "get" necesita un objeto "RequestOptions". Tiene que ser:

 const headers = new Headers(); headers.append('Authorization', 'authtoken'); const options = new RequestOptions({headers: headers}); http.get('address...', options);
over 4 years ago · Santiago Trujillo Denunciar
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