tutorial cognito aws auth amazoncognitoidentity javascript amazon-web-services amazon-cognito aws-api-gateway federated-identity

javascript - aws - cognito endpoints



Autenticación de la puerta de enlace API con Cognito Federated Identities (1)

Dado que desea invocar API a través de la identidad de Cognito autenticada, primero

  1. Enmiende el rol de autenticación del conjunto de identidades para tener una política de ejecución de API. Simplemente puede adjuntar la política administrada "AmazonAPIGatewayInvokeFullAccess" al rol respectivo.
  2. En la puerta de enlace API bajo la solicitud de método respectiva, agregue Autorización como "AWS_IAM"
  3. Debe firmar la solicitud con la autorización "IAM", que se explica aquí https://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.html

  4. En lugar de # 3, puede generar y descargar el SDK desde el panel de escenario de su gateway API y hacer una llamada a la API a través de sdk.

Una vez que obtenga la sesión cognito, puede hacer una llamada usando el SDK como a continuación

var apigClient = apigClientFactory.newClient({ accessKey: AWSCognito.config.credentials.accessKeyId, secretKey: AWSCognito.config.credentials.secretAccessKey, sessionToken: AWSCognito.config.credentials.sessionToken }); var params = { // This is where any modeled request parameters should be added. // The key is the parameter name, as it is defined in the API in API Gateway. }; var body = {}; var additionalParams = { // If there are any unmodeled query parameters or headers that must be // sent with the request, add them here. headers: { ''Content-Type'': ''application/json'' }, queryParams: {} }; apigClient.<resource><Method>(params, body, additionalParams) .then(function(result) { // }).catch(function(err) { // });

Quiero usar Cognito Federated Entity (que permite el inicio de sesión a través de Google, etc.), para permitir el acceso a API Gateway para una aplicación web javascript. Logré obtener el sessionToken de Cognito mediante el inicio de sesión con Google, pero estoy atascado en la configuración de la puerta de enlace API para habilitar el token de la sesión.

¿Existe un buen tutorial para todo este flujo de trabajo de autenticación de Entidad federada?

¡Gracias!