tutorial services que cognito aws amazon-web-services aws-api-gateway

amazon-web-services - services - cognito token



¿Falta el token de autenticación al acceder a la puerta de enlace API? (6)

Acabo de tener el mismo problema y parece que también muestra este mensaje si no se puede encontrar el recurso.

En mi caso, había actualizado la API, pero se me olvidó volver a implementar. El problema se resolvió después de implementar la API actualizada en mi etapa.

Estoy tratando de llamar a una función Lambda a través de AWS API Gateway. Cuando menciono el tipo de autenticación NINGUNO, funciona bien pero la API se vuelve pública y cualquier persona con url puede acceder a mi API. Para que la llamada a la API sea segura, estoy usando el tipo de autenticación AWS_IAM y también adjunto la política AmazonAPIGatewayInvokeFullAccess a mi usuario, pero aparece este error:

{mensaje: "Falta el token de autenticación"}

No sé lo que me estoy perdiendo aquí.



En primer lugar, verifique si la API que creó en la función lamda está registrada con su proyecto de AWS o no. Para eso, vaya a la puerta de enlace API en su consola de AWS. Si no está registrado, regístrelo. Esta es la causa principal de este problema.

Incluso puede ver en su archivo aws.export.js , que hay rutas correspondientes a su API [''/items''] .

Su API debe estar presente allí, de lo contrario no agregará el token de seguridad a las solicitudes. Simplemente regístrelo en su proyecto cloud-logic en su consola para esto.

Si está ahí, entonces usa la solución mencionada
http://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-use-postman-to-call-api.html


Encontré esto en los documentos:

Si se usara la autorización AWS_IAM, usted firmaría la solicitud utilizando los protocolos de la versión 4 de Signature.

Solicitud de firma con Firma Versión 4

También puede generar un SDK para su API.

Cómo generar un SDK para una API en la puerta de enlace API

Una vez que haya generado el SDK para la plataforma de su elección, el paso 6 menciona que si está utilizando las credenciales de AWS, se firmará la solicitud a la API:

  1. Para inicializar el SDK generado por Gateway Gateway con las credenciales de AWS, use un código similar al siguiente. Si utiliza las credenciales de AWS, todas las solicitudes a la API se firmarán. Esto significa que debe establecer los encabezados de aceptación de CORS apropiados para cada solicitud:

    var apigClient = apigClientFactory.newClient({ accessKey: ''ACCESS_KEY'', secretKey: ''SECRET_KEY'', });



Si habilita la autenticación AWS_IAM, debe firmar su solicitud con las credenciales de AWS utilizando la versión 4 de AWS Signature .

Nota : iniciar sesión en la consola de AWS no firma automáticamente las solicitudes de su navegador a su API.