- Root
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
- /POST
/
POST
/
InitiateAuth
. For more information, see Adding user pool sign-in through a third party.Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request POST '/' \
--header 'X-Amz-Target;' \
--header 'Content-Type: application/json' \
--data-raw '{
"AuthFlow": "USER_SRP_AUTH",
"AuthParameters": {
"property1": "string",
"property2": "string"
},
"ClientMetadata": {
"property1": "string",
"property2": "string"
},
"ClientId": "string",
"AnalyticsMetadata": {},
"UserContextData": {
"IpAddress": "string",
"EncodedData": "string"
}
}'
Response Response Example
200 - Example 1
{
"ChallengeName": "SMS_MFA",
"Session": "string",
"ChallengeParameters": {
"property1": "string",
"property2": "string"
},
"AuthenticationResult": {
"AccessToken": "string",
"ExpiresIn": 0,
"TokenType": "string",
"RefreshToken": "string",
"IdToken": "string",
"NewDeviceMetadata": {
"DeviceKey": "string",
"DeviceGroupKey": "string"
}
}
}
Request
Header Params
X-Amz-Target
stringÂ
required
Body Params application/json
Initiates the authentication request.
AuthFlow
enum<string>Â
required
-
REFRESH_TOKEN_AUTH
takes in a valid refresh token and returns new tokens. -
USER_SRP_AUTH
takes inUSERNAME
andSRP_A
and returns the SRP variables to be used for next challenge execution. -
USER_PASSWORD_AUTH
takes inUSERNAME
andPASSWORD
and returns the next challenge or tokens.
-
USER_SRP_AUTH
: Authentication flow for the Secure Remote Password (SRP) protocol. -
REFRESH_TOKEN_AUTH
/REFRESH_TOKEN
: Authentication flow for refreshing the access token and ID token by supplying a valid refresh token. -
CUSTOM_AUTH
: Custom authentication flow. -
USER_PASSWORD_AUTH
: Non-SRP authentication flow; user name and password are passed directly. If a user migration Lambda trigger is set, this flow will invoke the user migration Lambda if it doesn't find the user name in the user pool.
ADMIN_NO_SRP_AUTH
isn't a valid value.Allowed values:
USER_SRP_AUTHREFRESH_TOKEN_AUTHREFRESH_TOKENCUSTOM_AUTHADMIN_NO_SRP_AUTHUSER_PASSWORD_AUTHADMIN_USER_PASSWORD_AUTH
AuthParameters
objectÂ
optional
AuthFlow
that you're invoking. The required values depend on the value of AuthFlow
:-
For USER_SRP_AUTH
:USERNAME
(required),SRP_A
(required),SECRET_HASH
(required if the app client is configured with a client secret),DEVICE_KEY
. -
For REFRESH_TOKEN_AUTH/REFRESH_TOKEN
:REFRESH_TOKEN
(required),SECRET_HASH
(required if the app client is configured with a client secret),DEVICE_KEY
. -
For CUSTOM_AUTH
:USERNAME
(required),SECRET_HASH
(if app client is configured with client secret),DEVICE_KEY
. To start the authentication flow with password verification, includeChallengeName: SRP_A
andSRP_A: (The SRP_A Value)
.
ClientMetadata
objectÂ
optional
-
Pre signup -
Pre authentication -
User migration
validationData
attribute, which provides the data that you assigned to the ClientMetadata parameter in your InitiateAuth request. In your function code in Lambda, you can process the validationData
value to enhance your workflow for your specific needs.-
Post authentication -
Custom message -
Pre token generation -
Create auth challenge -
Define auth challenge -
Verify auth challenge
ClientId
string <password>
required
>= 1 characters<= 128 characters
Match pattern:
[\w+]+
AnalyticsMetadata
objectÂ
optional
InitiateAuth
calls.UserContextData
objectÂ
optional
IpAddress
stringÂ
optional
EncodedData
stringÂ
optional
Examples
Responses
🟢200Success
application/json
Body
Initiates the authentication response.
ChallengeName
enum<string>Â
optional
AdminInitiateAuth
response if you must pass another challenge.-
SMS_MFA
: Next challenge is to supply anSMS_MFA_CODE
, delivered via SMS. -
PASSWORD_VERIFIER
: Next challenge is to supplyPASSWORD_CLAIM_SIGNATURE
,PASSWORD_CLAIM_SECRET_BLOCK
, andTIMESTAMP
after the client-side SRP calculations. -
CUSTOM_CHALLENGE
: This is returned if your custom authentication flow determines that the user should pass another challenge before tokens are issued. -
DEVICE_SRP_AUTH
: If device tracking was activated on your user pool and the previous challenges were passed, this challenge is returned so that Amazon Cognito can start tracking this device. -
DEVICE_PASSWORD_VERIFIER
: Similar toPASSWORD_VERIFIER
, but for devices only. -
NEW_PASSWORD_REQUIRED
: For users who are required to change their passwords after successful first login.Respond to this challenge with NEW_PASSWORD
and any required attributes that Amazon Cognito returned in therequiredAttributes
parameter. You can also set values for attributes that aren't required by your user pool and that your app client can write. For more information, see RespondToAuthChallenge. -
MFA_SETUP
: For users who are required to setup an MFA factor before they can sign in. The MFA types activated for the user pool will be listed in the challenge parametersMFA_CAN_SETUP
value.To set up software token MFA, use the session returned here from InitiateAuth
as an input toAssociateSoftwareToken
. Use the session returned byVerifySoftwareToken
as an input toRespondToAuthChallenge
with challenge nameMFA_SETUP
to complete sign-in. To set up SMS MFA, an administrator should help the user to add a phone number to their account, and then the user should callInitiateAuth
again to restart sign-in.
Allowed values:
SMS_MFASOFTWARE_TOKEN_MFASELECT_MFA_TYPEMFA_SETUPPASSWORD_VERIFIERCUSTOM_CHALLENGEDEVICE_SRP_AUTHDEVICE_PASSWORD_VERIFIERADMIN_NO_SRP_AUTHNEW_PASSWORD_REQUIRED
Session
stringÂ
optional
RespondToAuthChallenge
API call.>= 20 characters<= 2048 characters
ChallengeParameters
objectÂ
optional
InitiateAuth
response if you must pass another challenge. The responses in this parameter should be used to compute inputs to the next call (RespondToAuthChallenge
). USERNAME
and SECRET_HASH
(if applicable).AuthenticationResult
objectÂ
optional
ChallengeName
, ChallengeParameters
, and Session
are returned.AccessToken
string <password>
optional
Match pattern:
[A-Za-z0-9-_=.]+
ExpiresIn
integerÂ
optional
TokenType
stringÂ
optional
RefreshToken
string <password>
optional
Match pattern:
[A-Za-z0-9-_=.]+
IdToken
string <password>
optional
Match pattern:
[A-Za-z0-9-_=.]+
NewDeviceMetadata
objectÂ
optional
🟠480ResourceNotFoundException
🟠481InvalidParameterException
🟠482NotAuthorizedException
🟠483TooManyRequestsException
🟠484UnexpectedLambdaException
🟠485InvalidUserPoolConfigurationException
🟠486UserLambdaValidationException
🟠487InvalidLambdaResponseException
🟠488PasswordResetRequiredException
🟠489UserNotFoundException
🟠490UserNotConfirmedException
🟠491InternalErrorException
🟠492InvalidSmsRoleAccessPolicyException
🟠493InvalidSmsRoleTrustRelationshipException
🟠494ForbiddenException
Modified at 2023-08-15 07:11:07