Estoy tratando de hacer lo siguiente:
AWSUtil.generateSecretHash('test@test.com', ClientId).then(SECRET_HASH => { return AWSUtil.Cognito.adminInitiateAuth({ AuthFlow: 'USER_PASSWORD_AUTH', ClientId, UserPoolId: process.env.COGNITO_USER_POOL_ID, AuthParameters: { USERNAME: 'test@test.com', PASSWORD: 'lamepassword123', SECRET_HASH } }).promise(); }) .then(resp => { console.log(resp) }); No devolverá nada más que "Initiate Auth method not supported."
Según los documentos , esto debería funcionar. ¿Lo que da?
Tuve el mismo problema: lo resolví usando AuthFlow ADMIN_NO_SRP_AUTH en lugar de USER_PASSWORD_AUTH según el ejemplo aquí .
En la sección Clientes de aplicaciones , ¿habilitó la casilla para su grupo de usuarios que dice:
[x] Enable username-password (non-SRP) flow for app-based authentication (USER_PASSWORD_AUTH)En caso de uso del marco sin servidor, se debe agregar ALLOW_USER_PASSWORD_AUTH al nodo ExplicitAuthFlows .
Resources: CognitoUserPool: Type: AWS::Cognito::UserPool Properties: # Generate a name based on the stage UserPoolName: ${self:provider.stage}-user-pool # Set email as an alias UsernameAttributes: - email AutoVerifiedAttributes: - email CognitoUserPoolClient: Type: AWS::Cognito::UserPoolClient Properties: # Generate an app client name based on the stage ClientName: ${self:provider.stage}-user-pool-client UserPoolId: Ref: CognitoUserPool ExplicitAuthFlows: - ALLOW_ADMIN_USER_PASSWORD_AUTH # See also: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html - ALLOW_USER_PASSWORD_AUTH - ALLOW_REFRESH_TOKEN_AUTH - ALLOW_USER_SRP_AUTH GenerateSecret: false # Print out the Id of the User Pool that is created Outputs: UserPoolId: Value: Ref: CognitoUserPool UserPoolClientId: Value: Ref: CognitoUserPoolClient