/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.cognitoidp.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.AmazonWebServiceRequest; /** *

* The request to respond to an authentication challenge. *

* * @see AWS * API Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class RespondToAuthChallengeRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable { /** *

* The app client ID. *

*/ private String clientId; /** *

* The challenge name. For more information, see InitiateAuth. *

*

* ADMIN_NO_SRP_AUTH isn't a valid value. *

*/ private String challengeName; /** *

* The session that should be passed both ways in challenge-response calls to the service. If * InitiateAuth or RespondToAuthChallenge 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 RespondToAuthChallenge API call. *

*/ private String session; /** *

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

* *

* SECRET_HASH (if app client is configured with client secret) applies to all of the inputs that * follow (including SOFTWARE_TOKEN_MFA). *

*
* */ private java.util.Map challengeResponses; /** *

* The Amazon Pinpoint analytics metadata that contributes to your metrics for RespondToAuthChallenge * calls. *

*/ private AnalyticsMetadataType analyticsMetadata; /** *

* Contextual data about your user session, such as the device fingerprint, IP address, or location. Amazon Cognito * advanced security evaluates the risk of an authentication event based on the context that your app generates and * passes to Amazon Cognito when it makes API requests. *

*/ private UserContextDataType userContextData; /** *

* 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 * RespondToAuthChallenge API action, Amazon Cognito invokes any functions that are assigned to the following * triggers: post authentication, pre token generation, define auth challenge, create auth * challenge, and verify auth challenge. 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 * RespondToAuthChallenge 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 in the Amazon Cognito Developer Guide. *

* *

* When you use the ClientMetadata parameter, remember that Amazon Cognito won't do the following: *

* *
*/ private java.util.Map clientMetadata; /** *

* The app client ID. *

* * @param clientId * The app client ID. */ public void setClientId(String clientId) { this.clientId = clientId; } /** *

* The app client ID. *

* * @return The app client ID. */ public String getClientId() { return this.clientId; } /** *

* The app client ID. *

* * @param clientId * The app client ID. * @return Returns a reference to this object so that method calls can be chained together. */ public RespondToAuthChallengeRequest withClientId(String clientId) { setClientId(clientId); return this; } /** *

* The challenge name. For more information, see InitiateAuth. *

*

* ADMIN_NO_SRP_AUTH isn't a valid value. *

* * @param challengeName * The challenge name. For more information, see InitiateAuth.

*

* ADMIN_NO_SRP_AUTH isn't a valid value. * @see ChallengeNameType */ public void setChallengeName(String challengeName) { this.challengeName = challengeName; } /** *

* The challenge name. For more information, see InitiateAuth. *

*

* ADMIN_NO_SRP_AUTH isn't a valid value. *

* * @return The challenge name. For more information, see InitiateAuth.

*

* ADMIN_NO_SRP_AUTH isn't a valid value. * @see ChallengeNameType */ public String getChallengeName() { return this.challengeName; } /** *

* The challenge name. For more information, see InitiateAuth. *

*

* ADMIN_NO_SRP_AUTH isn't a valid value. *

* * @param challengeName * The challenge name. For more information, see InitiateAuth.

*

* ADMIN_NO_SRP_AUTH isn't a valid value. * @return Returns a reference to this object so that method calls can be chained together. * @see ChallengeNameType */ public RespondToAuthChallengeRequest withChallengeName(String challengeName) { setChallengeName(challengeName); return this; } /** *

* The challenge name. For more information, see InitiateAuth. *

*

* ADMIN_NO_SRP_AUTH isn't a valid value. *

* * @param challengeName * The challenge name. For more information, see InitiateAuth.

*

* ADMIN_NO_SRP_AUTH isn't a valid value. * @see ChallengeNameType */ public void setChallengeName(ChallengeNameType challengeName) { withChallengeName(challengeName); } /** *

* The challenge name. For more information, see InitiateAuth. *

*

* ADMIN_NO_SRP_AUTH isn't a valid value. *

* * @param challengeName * The challenge name. For more information, see InitiateAuth.

*

* ADMIN_NO_SRP_AUTH isn't a valid value. * @return Returns a reference to this object so that method calls can be chained together. * @see ChallengeNameType */ public RespondToAuthChallengeRequest withChallengeName(ChallengeNameType challengeName) { this.challengeName = challengeName.toString(); return this; } /** *

* The session that should be passed both ways in challenge-response calls to the service. If * InitiateAuth or RespondToAuthChallenge 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 RespondToAuthChallenge API call. *

* * @param session * The session that should be passed both ways in challenge-response calls to the service. If * InitiateAuth or RespondToAuthChallenge 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 RespondToAuthChallenge API call. */ public void setSession(String session) { this.session = session; } /** *

* The session that should be passed both ways in challenge-response calls to the service. If * InitiateAuth or RespondToAuthChallenge 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 RespondToAuthChallenge API call. *

* * @return The session that should be passed both ways in challenge-response calls to the service. If * InitiateAuth or RespondToAuthChallenge 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 RespondToAuthChallenge API call. */ public String getSession() { return this.session; } /** *

* The session that should be passed both ways in challenge-response calls to the service. If * InitiateAuth or RespondToAuthChallenge 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 RespondToAuthChallenge API call. *

* * @param session * The session that should be passed both ways in challenge-response calls to the service. If * InitiateAuth or RespondToAuthChallenge 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 RespondToAuthChallenge API call. * @return Returns a reference to this object so that method calls can be chained together. */ public RespondToAuthChallengeRequest withSession(String session) { setSession(session); return this; } /** *

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

* *

* SECRET_HASH (if app client is configured with client secret) applies to all of the inputs that * follow (including SOFTWARE_TOKEN_MFA). *

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

*

* SECRET_HASH (if app client is configured with client secret) applies to all of the inputs * that follow (including SOFTWARE_TOKEN_MFA). *

*
*