Estoy usando el grupo de usuarios de Cognito para asegurar mi puerta de enlace API. Ahora me gustaría realizar solicitudes a mi API usando cartero, pero necesito pasar el token de autorización ya que la API está protegida. ¿Hay algún comando AWS CLI o REST API para generar tokens de autenticación (pasando nombre de usuario/contraseña)? He buscado documentación pero no pude encontrar ningún ejemplo. Gracias por tu ayuda.
Puede hacer esto usando los siguientes comandos CLI:
Registrar un usuario
aws cognito-idp sign-up --region {your-aws-region} --client-id {your-client-id} --username admin@example.com --password password123
Confirmar registro de usuario
aws cognito-idp admin-confirm-sign-up --region {your-aws-region} --user-pool-id {your-user-pool-id} --username admin@example.com
Autenticar (obtener tokens)
aws cognito-idp admin-initiate-auth --region {your-aws-region} --cli-input-json file://auth.json
Donde auth.json es:
{ "UserPoolId": "{your-user-pool-id}", "ClientId": "{your-client-id}", "AuthFlow": "ADMIN_NO_SRP_AUTH", "AuthParameters": { "USERNAME": "admin@example.com", "PASSWORD": "password123" } }Debería obtener una respuesta como esta si todo está configurado correctamente:
{ "AuthenticationResult": { "ExpiresIn": 3600, "IdToken": "{your-idtoken}", "RefreshToken": "{your-refresh-token}", "TokenType": "Bearer", "AccessToken": "{your-access-token}" }, "ChallengeParameters": {} }Use el siguiente comando para generar los tokens de autenticación, complete el xxxx de manera adecuada en función de su configuración de cognito,
aws cognito-idp iniciar-auth --auth-flow USUARIO_CONTRASEÑA_AUTH --client-id xxxx --auth-parameters NOMBRE DE USUARIO=xx@xx.com, CONTRASEÑA=xxxx
Nota: Puede usar cualquier nombre de usuario o contraseña en el grupo de usuarios de cognito correspondiente. El cliente se puede encontrar en la configuración general--> cliente de la aplicación
AccessKeyId y SecretAccessKey no son necesarios, ya que se definieron al configurar aws cli. Si no lo hace, use el siguiente enlace para configurarlo primerohttps://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html
Hay un comando de AWS CLI para generar tokens de autenticación. Puede usar el comando CLI InitiateAuth para esto.
Nota: Asegúrese de haber realizado la configuración de UserPool que coincida con los tokens esperados.