- 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
/
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request POST '/' \
--header 'X-Amz-Target;' \
--header 'Content-Type: application/json' \
--data-raw '{
"UserPoolId": "string",
"ClientId": "string",
"AuthFlow": "USER_SRP_AUTH",
"AuthParameters": {
"property1": "string",
"property2": "string"
},
"ClientMetadata": {
"property1": "string",
"property2": "string"
},
"AnalyticsMetadata": {},
"ContextData": {
"IpAddress": "string",
"ServerName": "string",
"ServerPath": "string",
"HttpHeaders": [],
"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 authorization request, as an administrator.
UserPoolId
stringÂ
required
>= 1 characters<= 55 characters
Match pattern:
[\w-]+_[0-9a-zA-Z]+
ClientId
string <password>
required
>= 1 characters<= 128 characters
Match pattern:
[\w+]+
AuthFlow
enum<string>Â
required
-
REFRESH_TOKEN_AUTH
will take in a valid refresh token and return new tokens. -
USER_SRP_AUTH
will take inUSERNAME
andSRP_A
and return the Secure Remote Password (SRP) protocol variables to be used for next challenge execution. -
ADMIN_USER_PASSWORD_AUTH
will take inUSERNAME
andPASSWORD
and return 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. -
ADMIN_NO_SRP_AUTH
: Non-SRP authentication flow; you can pass in the USERNAME and PASSWORD directly if the flow is enabled for calling the app client. -
ADMIN_USER_PASSWORD_AUTH
: Admin-based user password authentication. This replaces theADMIN_NO_SRP_AUTH
authentication flow. In this flow, Amazon Cognito receives the password in the request instead of using the SRP process to verify passwords.
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 ADMIN_NO_SRP_AUTH
:USERNAME
(required),SECRET_HASH
(if app client is configured with client secret),PASSWORD
(required),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 AdminInitiateAuth 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
AnalyticsMetadata
objectÂ
optional
AdminInitiateAuth
calls.ContextData
objectÂ
optional
IpAddress
stringÂ
required
ServerName
stringÂ
required
ServerPath
stringÂ
required
HttpHeaders
array[object (HttpHeader) {2}]Â
required
EncodedData
stringÂ
optional
Examples
Responses
🟢200Success
application/json
Body
Initiates the authentication response, as an administrator.
ChallengeName
enum<string>Â
optional
AdminInitiateAuth
response if you must pass another challenge.-
MFA_SETUP
: If MFA is required, users who don't have at least one of the MFA methods set up are presented with anMFA_SETUP
challenge. The user must set up at least one MFA type to continue to authenticate. -
SELECT_MFA_TYPE
: Selects the MFA type. Valid MFA options areSMS_MFA
for text SMS MFA, andSOFTWARE_TOKEN_MFA
for time-based one-time password (TOTP) software token MFA. -
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 in 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. -
ADMIN_NO_SRP_AUTH
: This is returned if you must authenticate withUSERNAME
andPASSWORD
directly. An app client must be enabled to use this flow. -
NEW_PASSWORD_REQUIRED
: For users who are required to change their passwords after successful first login. Respond to this challenge withNEW_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 AdminRespondToAuthChallenge. -
MFA_SETUP
: For users who are required to set up 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
, and use the session returned byVerifySoftwareToken
as an input toRespondToAuthChallenge
with challenge nameMFA_SETUP
to complete sign-in. To set up SMS MFA, users will need help from an administrator to add a phone number to their account and then 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
AdminInitiateAuth
or AdminRespondToAuthChallenge
API call determines that the caller must pass another challenge, they return a session with other challenge parameters. This session should be passed as it is to the next AdminRespondToAuthChallenge
API call.>= 20 characters<= 2048 characters
ChallengeParameters
objectÂ
optional
AdminInitiateAuth
response if you must pass another challenge. The responses in this parameter should be used to compute inputs to the next call (AdminRespondToAuthChallenge
).USERNAME
and SECRET_HASH
(if applicable).USER_ID_FOR_SRP
attribute is the user's actual username, not an alias (such as email address or phone number), even if you specified an alias in your call to AdminInitiateAuth
. This happens because, in the AdminRespondToAuthChallenge
API ChallengeResponses
, the USERNAME
attribute can't be an alias.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
🟠484InternalErrorException
🟠485UnexpectedLambdaException
🟠486InvalidUserPoolConfigurationException
🟠487UserLambdaValidationException
🟠488InvalidLambdaResponseException
🟠489MFAMethodNotFoundException
🟠490InvalidSmsRoleAccessPolicyException
🟠491InvalidSmsRoleTrustRelationshipException
🟠492PasswordResetRequiredException
🟠493UserNotFoundException
🟠494UserNotConfirmedException
Modified at 2023-08-15 07:11:06