AWS Cognito USER_PASSWORD_AUTH "Initiate Auth method not supported."
I had the same issue - resolved it by using AuthFlow ADMIN_NO_SRP_AUTH
rather than USER_PASSWORD_AUTH
per the example here.
In case of Serverless framework usage, the ALLOW_USER_PASSWORD_AUTH
need to be added to the ExplicitAuthFlows
node.
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
Under the App Clients section, did you enable the box for your user pool that says:
[x] Enable username-password (non-SRP) flow for app-based authentication (USER_PASSWORD_AUTH)