class Aws::CognitoIdentityProvider::Types::AdminRespondToAuthChallengeRequest

The request to respond to the authentication challenge, as an administrator.

@note When making an API call, you may pass AdminRespondToAuthChallengeRequest

data as a hash:

    {
      user_pool_id: "UserPoolIdType", # required
      client_id: "ClientIdType", # required
      challenge_name: "SMS_MFA", # required, accepts SMS_MFA, SOFTWARE_TOKEN_MFA, SELECT_MFA_TYPE, MFA_SETUP, PASSWORD_VERIFIER, CUSTOM_CHALLENGE, DEVICE_SRP_AUTH, DEVICE_PASSWORD_VERIFIER, ADMIN_NO_SRP_AUTH, NEW_PASSWORD_REQUIRED
      challenge_responses: {
        "StringType" => "StringType",
      },
      session: "SessionType",
      analytics_metadata: {
        analytics_endpoint_id: "StringType",
      },
      context_data: {
        ip_address: "StringType", # required
        server_name: "StringType", # required
        server_path: "StringType", # required
        http_headers: [ # required
          {
            header_name: "StringType",
            header_value: "StringType",
          },
        ],
        encoded_data: "StringType",
      },
      client_metadata: {
        "StringType" => "StringType",
      },
    }

@!attribute [rw] user_pool_id

The ID of the Amazon Cognito user pool.
@return [String]

@!attribute [rw] client_id

The app client ID.
@return [String]

@!attribute [rw] challenge_name

The challenge name. For more information, see
[AdminInitiateAuth][1].

[1]: https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminInitiateAuth.html
@return [String]

@!attribute [rw] challenge_responses

The challenge responses. These are inputs corresponding to the value
of `ChallengeName`, for example:

* `SMS_MFA`\: `SMS_MFA_CODE`, `USERNAME`, `SECRET_HASH` (if app
  client is configured with client secret).

* `PASSWORD_VERIFIER`\: `PASSWORD_CLAIM_SIGNATURE`,
  `PASSWORD_CLAIM_SECRET_BLOCK`, `TIMESTAMP`, `USERNAME`,
  `SECRET_HASH` (if app client is configured with client secret).

* `ADMIN_NO_SRP_AUTH`\: `PASSWORD`, `USERNAME`, `SECRET_HASH` (if
  app client is configured with client secret).

* `NEW_PASSWORD_REQUIRED`\: `NEW_PASSWORD`, any other required
  attributes, `USERNAME`, `SECRET_HASH` (if app client is configured
  with client secret).

* `MFA_SETUP` requires `USERNAME`, plus you need to use the session
  value returned by `VerifySoftwareToken` in the `Session`
  parameter.

The value of the `USERNAME` attribute must be the user's actual
username, not an alias (such as email address or phone number). To
make this easier, the `AdminInitiateAuth` response includes the
actual username value in the `USERNAMEUSER_ID_FOR_SRP` attribute,
even if you specified an alias in your call to `AdminInitiateAuth`.
@return [Hash<String,String>]

@!attribute [rw] session

The session which should be passed both ways in challenge-response
calls to the service. If `InitiateAuth` or `RespondToAuthChallenge`
API call determines that the caller needs to go through another
challenge, they return a session with other challenge parameters.
This session should be passed as it is to the next
`RespondToAuthChallenge` API call.
@return [String]

@!attribute [rw] analytics_metadata

The analytics metadata for collecting Amazon Pinpoint metrics for
`AdminRespondToAuthChallenge` calls.
@return [Types::AnalyticsMetadataType]

@!attribute [rw] context_data

Contextual data such as the user's device fingerprint, IP address,
or location used for evaluating the risk of an unexpected event by
Amazon Cognito advanced security.
@return [Types::ContextDataType]

@!attribute [rw] client_metadata

A map of custom key-value pairs that you can provide as input for
any custom workflows that this action triggers.

You create custom workflows by assigning Lambda functions to user
pool triggers. When you use the AdminRespondToAuthChallenge API
action, Amazon Cognito invokes any functions that are assigned to
the following triggers: *pre sign-up*, *custom message*, *post
authentication*, *user migration*, *pre token generation*, *define
auth challenge*, *create auth challenge*, and *verify auth challenge
response*. When Amazon Cognito invokes any of these functions, it
passes a JSON payload, which the function receives as input. This
payload contains a `clientMetadata` attribute, which provides the
data that you assigned to the ClientMetadata parameter in your
AdminRespondToAuthChallenge request. In your function code in
Lambda, you can process the `clientMetadata` value to enhance your
workflow for your specific needs.

For more information, see [Customizing User Pool Workflows with
Lambda Triggers][1] in the *Amazon Cognito Developer Guide*.

<note markdown="1"> Take the following limitations into consideration when you use the
ClientMetadata parameter:

 * Amazon Cognito does not store the ClientMetadata value. This data
  is available only to Lambda triggers that are assigned to a user
  pool to support custom workflows. If your user pool configuration
  does not include triggers, the ClientMetadata parameter serves no
  purpose.

* Amazon Cognito does not validate the ClientMetadata value.

* Amazon Cognito does not encrypt the the ClientMetadata value, so
  don't use it to provide sensitive information.

 </note>

[1]: https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html
@return [Hash<String,String>]

@see docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/AdminRespondToAuthChallengeRequest AWS API Documentation

Constants

SENSITIVE