/AWS1/CL_CGPADMININITIATEAUT01¶
Initiates the authentication response, as an administrator.
CONSTRUCTOR¶
IMPORTING¶
Optional arguments:¶
iv_challengename TYPE /AWS1/CGPCHALLENGENAMETYPE /AWS1/CGPCHALLENGENAMETYPE¶
The name of the challenge that you're responding to with this call. This is returned in the
AdminInitiateAuthresponse if you must pass another challenge.Possible challenges include the following:
All of the following challenges require
USERNAMEand, when the app client has a client secret,SECRET_HASHin the parameters. Include aDEVICE_KEYfor device authentication.
WEB_AUTHN: Respond to the challenge with the results of a successful authentication with a WebAuthn authenticator, or passkey, asCREDENTIAL. Examples of WebAuthn authenticators include biometric devices and security keys.
PASSWORD: Respond with the user's password asPASSWORD.
PASSWORD_SRP: Respond with the initial SRP secret asSRP_A.
SELECT_CHALLENGE: Respond with a challenge selection asANSWER. It must be one of the challenge types in theAvailableChallengesresponse parameter. Add the parameters of the selected challenge, for exampleUSERNAMEandSMS_OTP.
SMS_MFA: Respond with the code that your user pool delivered in an SMS message, asSMS_MFA_CODE
EMAIL_MFA: Respond with the code that your user pool delivered in an email message, asEMAIL_MFA_CODE
EMAIL_OTP: Respond with the code that your user pool delivered in an email message, asEMAIL_OTP_CODE.
SMS_OTP: Respond with the code that your user pool delivered in an SMS message, asSMS_OTP_CODE.
PASSWORD_VERIFIER: Respond with the second stage of SRP secrets asPASSWORD_CLAIM_SIGNATURE,PASSWORD_CLAIM_SECRET_BLOCK, andTIMESTAMP.
CUSTOM_CHALLENGE: This is returned if your custom authentication flow determines that the user should pass another challenge before tokens are issued. The parameters of the challenge are determined by your Lambda function and issued in theChallengeParametersof a challenge response.
DEVICE_SRP_AUTH: Respond with the initial parameters of device SRP authentication. For more information, see Signing in with a device.
DEVICE_PASSWORD_VERIFIER: Respond withPASSWORD_CLAIM_SIGNATURE,PASSWORD_CLAIM_SECRET_BLOCK, andTIMESTAMPafter client-side SRP calculations. For more information, see Signing in with a device.
NEW_PASSWORD_REQUIRED: For users who are required to change their passwords after successful first login. Respond to this challenge withNEW_PASSWORDand any required attributes that Amazon Cognito returned in therequiredAttributesparameter. You can also set values for attributes that aren't required by your user pool and that your app client can write.Amazon Cognito only returns this challenge for users who have temporary passwords. When you create passwordless users, you must provide values for all required attributes.
In a
NEW_PASSWORD_REQUIREDchallenge response, you can't modify a required attribute that already has a value. InAdminRespondToAuthChallengeorRespondToAuthChallenge, set a value for any keys that Amazon Cognito returned in therequiredAttributesparameter, then use theAdminUpdateUserAttributesorUpdateUserAttributesAPI operation to modify the value of any additional attributes.
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 parametersMFAS_CAN_SETUPvalue.To set up time-based one-time password (TOTP) MFA, use the session returned in this challenge from
InitiateAuthorAdminInitiateAuthas an input toAssociateSoftwareToken. Then, use the session returned byVerifySoftwareTokenas an input toRespondToAuthChallengeorAdminRespondToAuthChallengewith challenge nameMFA_SETUPto complete sign-in.To set up SMS or email MFA, collect a
phone_numberorInitiateAuthorAdminInitiateAuthrequest.
iv_session TYPE /AWS1/CGPSESSIONTYPE /AWS1/CGPSESSIONTYPE¶
The session that must be passed to challenge-response requests. If an
AdminInitiateAuthorAdminRespondToAuthChallengeAPI request results in another authentication challenge, Amazon Cognito returns a session ID and the parameters of the next challenge. Pass this session ID in theSessionparameter ofAdminRespondToAuthChallenge.
it_challengeparameters TYPE /AWS1/CL_CGPCHALLENGEPRMSTYP00=>TT_CHALLENGEPARAMETERSTYPE TT_CHALLENGEPARAMETERSTYPE¶
The parameters of an authentication challenge. Amazon Cognito returns challenge parameters as a guide to the responses your user or application must provide for the returned
ChallengeName. Calculate responses to the challenge parameters and pass them in theChallengeParametersofAdminRespondToAuthChallenge.All challenges require
USERNAMEand, when the app client has a client secret,SECRET_HASH.In SRP challenges, Amazon Cognito returns the
usernameattribute inUSER_ID_FOR_SRPinstead of any email address, preferred username, or phone number alias that you might have specified in yourAdminInitiateAuthrequest. You must use the username and not an alias in theChallengeResponsesof your challenge response.
io_authenticationresult TYPE REF TO /AWS1/CL_CGPAUTHNTCTNRSLTTYPE /AWS1/CL_CGPAUTHNTCTNRSLTTYPE¶
The outcome of successful authentication. This is only returned if the user pool has no additional challenges to return. If Amazon Cognito returns another challenge, the response includes
ChallengeName,ChallengeParameters, andSessionso that your user can answer the challenge.
it_availablechallenges TYPE /AWS1/CL_CGPAVAILABLECHALLEN00=>TT_AVAILABLECHALLENGELISTTYPE TT_AVAILABLECHALLENGELISTTYPE¶
This response parameter lists the available authentication challenges that users can select from in choice-based authentication. For example, they might be able to choose between passkey authentication, a one-time password from an SMS message, and a traditional password.
Queryable Attributes¶
ChallengeName¶
The name of the challenge that you're responding to with this call. This is returned in the
AdminInitiateAuthresponse if you must pass another challenge.Possible challenges include the following:
All of the following challenges require
USERNAMEand, when the app client has a client secret,SECRET_HASHin the parameters. Include aDEVICE_KEYfor device authentication.
WEB_AUTHN: Respond to the challenge with the results of a successful authentication with a WebAuthn authenticator, or passkey, asCREDENTIAL. Examples of WebAuthn authenticators include biometric devices and security keys.
PASSWORD: Respond with the user's password asPASSWORD.
PASSWORD_SRP: Respond with the initial SRP secret asSRP_A.
SELECT_CHALLENGE: Respond with a challenge selection asANSWER. It must be one of the challenge types in theAvailableChallengesresponse parameter. Add the parameters of the selected challenge, for exampleUSERNAMEandSMS_OTP.
SMS_MFA: Respond with the code that your user pool delivered in an SMS message, asSMS_MFA_CODE
EMAIL_MFA: Respond with the code that your user pool delivered in an email message, asEMAIL_MFA_CODE
EMAIL_OTP: Respond with the code that your user pool delivered in an email message, asEMAIL_OTP_CODE.
SMS_OTP: Respond with the code that your user pool delivered in an SMS message, asSMS_OTP_CODE.
PASSWORD_VERIFIER: Respond with the second stage of SRP secrets asPASSWORD_CLAIM_SIGNATURE,PASSWORD_CLAIM_SECRET_BLOCK, andTIMESTAMP.
CUSTOM_CHALLENGE: This is returned if your custom authentication flow determines that the user should pass another challenge before tokens are issued. The parameters of the challenge are determined by your Lambda function and issued in theChallengeParametersof a challenge response.
DEVICE_SRP_AUTH: Respond with the initial parameters of device SRP authentication. For more information, see Signing in with a device.
DEVICE_PASSWORD_VERIFIER: Respond withPASSWORD_CLAIM_SIGNATURE,PASSWORD_CLAIM_SECRET_BLOCK, andTIMESTAMPafter client-side SRP calculations. For more information, see Signing in with a device.
NEW_PASSWORD_REQUIRED: For users who are required to change their passwords after successful first login. Respond to this challenge withNEW_PASSWORDand any required attributes that Amazon Cognito returned in therequiredAttributesparameter. You can also set values for attributes that aren't required by your user pool and that your app client can write.Amazon Cognito only returns this challenge for users who have temporary passwords. When you create passwordless users, you must provide values for all required attributes.
In a
NEW_PASSWORD_REQUIREDchallenge response, you can't modify a required attribute that already has a value. InAdminRespondToAuthChallengeorRespondToAuthChallenge, set a value for any keys that Amazon Cognito returned in therequiredAttributesparameter, then use theAdminUpdateUserAttributesorUpdateUserAttributesAPI operation to modify the value of any additional attributes.
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 parametersMFAS_CAN_SETUPvalue.To set up time-based one-time password (TOTP) MFA, use the session returned in this challenge from
InitiateAuthorAdminInitiateAuthas an input toAssociateSoftwareToken. Then, use the session returned byVerifySoftwareTokenas an input toRespondToAuthChallengeorAdminRespondToAuthChallengewith challenge nameMFA_SETUPto complete sign-in.To set up SMS or email MFA, collect a
phone_numberorInitiateAuthorAdminInitiateAuthrequest.
Accessible with the following methods¶
| Method | Description |
|---|---|
GET_CHALLENGENAME() |
Getter for CHALLENGENAME, with configurable default |
ASK_CHALLENGENAME() |
Getter for CHALLENGENAME w/ exceptions if field has no value |
HAS_CHALLENGENAME() |
Determine if CHALLENGENAME has a value |
Session¶
The session that must be passed to challenge-response requests. If an
AdminInitiateAuthorAdminRespondToAuthChallengeAPI request results in another authentication challenge, Amazon Cognito returns a session ID and the parameters of the next challenge. Pass this session ID in theSessionparameter ofAdminRespondToAuthChallenge.
Accessible with the following methods¶
| Method | Description |
|---|---|
GET_SESSION() |
Getter for SESSION, with configurable default |
ASK_SESSION() |
Getter for SESSION w/ exceptions if field has no value |
HAS_SESSION() |
Determine if SESSION has a value |
ChallengeParameters¶
The parameters of an authentication challenge. Amazon Cognito returns challenge parameters as a guide to the responses your user or application must provide for the returned
ChallengeName. Calculate responses to the challenge parameters and pass them in theChallengeParametersofAdminRespondToAuthChallenge.All challenges require
USERNAMEand, when the app client has a client secret,SECRET_HASH.In SRP challenges, Amazon Cognito returns the
usernameattribute inUSER_ID_FOR_SRPinstead of any email address, preferred username, or phone number alias that you might have specified in yourAdminInitiateAuthrequest. You must use the username and not an alias in theChallengeResponsesof your challenge response.
Accessible with the following methods¶
| Method | Description |
|---|---|
GET_CHALLENGEPARAMETERS() |
Getter for CHALLENGEPARAMETERS, with configurable default |
ASK_CHALLENGEPARAMETERS() |
Getter for CHALLENGEPARAMETERS w/ exceptions if field has no |
HAS_CHALLENGEPARAMETERS() |
Determine if CHALLENGEPARAMETERS has a value |
AuthenticationResult¶
The outcome of successful authentication. This is only returned if the user pool has no additional challenges to return. If Amazon Cognito returns another challenge, the response includes
ChallengeName,ChallengeParameters, andSessionso that your user can answer the challenge.
Accessible with the following methods¶
| Method | Description |
|---|---|
GET_AUTHENTICATIONRESULT() |
Getter for AUTHENTICATIONRESULT |
AvailableChallenges¶
This response parameter lists the available authentication challenges that users can select from in choice-based authentication. For example, they might be able to choose between passkey authentication, a one-time password from an SMS message, and a traditional password.
Accessible with the following methods¶
| Method | Description |
|---|---|
GET_AVAILABLECHALLENGES() |
Getter for AVAILABLECHALLENGES, with configurable default |
ASK_AVAILABLECHALLENGES() |
Getter for AVAILABLECHALLENGES w/ exceptions if field has no |
HAS_AVAILABLECHALLENGES() |
Determine if AVAILABLECHALLENGES has a value |