com.amazonaws.services.cognitoidp.model.RespondToAuthChallengeRequest Maven / Gradle / Ivy
Show all versions of aws-java-sdk-cognitoidp Show documentation
/*
* Copyright 2019-2024 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 responses to the challenge that you received in the previous request. Each challenge has its own required
* response parameters. The following examples are partial JSON request bodies that highlight challenge-response
* parameters.
*
*
*
* You must provide a SECRET_HASH parameter in all challenge responses to an app client that has a client secret.
*
*
*
* - SMS_MFA
* -
*
* "ChallengeName": "SMS_MFA", "ChallengeResponses": {"SMS_MFA_CODE": "[SMS_code]", "USERNAME": "[username]"}
*
*
* - PASSWORD_VERIFIER
* -
*
* "ChallengeName": "PASSWORD_VERIFIER", "ChallengeResponses": {"PASSWORD_CLAIM_SIGNATURE": "[claim_signature]", "PASSWORD_CLAIM_SECRET_BLOCK": "[secret_block]", "TIMESTAMP": [timestamp], "USERNAME": "[username]"}
*
*
* Add "DEVICE_KEY"
when you sign in with a remembered device.
*
*
* - CUSTOM_CHALLENGE
* -
*
* "ChallengeName": "CUSTOM_CHALLENGE", "ChallengeResponses": {"USERNAME": "[username]", "ANSWER": "[challenge_answer]"}
*
*
* Add "DEVICE_KEY"
when you sign in with a remembered device.
*
*
* - NEW_PASSWORD_REQUIRED
* -
*
* "ChallengeName": "NEW_PASSWORD_REQUIRED", "ChallengeResponses": {"NEW_PASSWORD": "[new_password]", "USERNAME": "[username]"}
*
*
* To set any required attributes that InitiateAuth
returned in an requiredAttributes
* parameter, add "userAttributes.[attribute_name]": "[attribute_value]"
. This parameter can also set
* values for writable attributes that aren't required by your user pool.
*
*
*
* In a NEW_PASSWORD_REQUIRED
challenge response, you can't modify a required attribute that already
* has a value. In RespondToAuthChallenge
, set a value for any keys that Amazon Cognito returned in the
* requiredAttributes
parameter, then use the UpdateUserAttributes
API operation to modify
* the value of any additional attributes.
*
*
* - SOFTWARE_TOKEN_MFA
* -
*
* "ChallengeName": "SOFTWARE_TOKEN_MFA", "ChallengeResponses": {"USERNAME": "[username]", "SOFTWARE_TOKEN_MFA_CODE": [authenticator_code]}
*
*
* - DEVICE_SRP_AUTH
* -
*
* "ChallengeName": "DEVICE_SRP_AUTH", "ChallengeResponses": {"USERNAME": "[username]", "DEVICE_KEY": "[device_key]", "SRP_A": "[srp_a]"}
*
*
* - DEVICE_PASSWORD_VERIFIER
* -
*
* "ChallengeName": "DEVICE_PASSWORD_VERIFIER", "ChallengeResponses": {"DEVICE_KEY": "[device_key]", "PASSWORD_CLAIM_SIGNATURE": "[claim_signature]", "PASSWORD_CLAIM_SECRET_BLOCK": "[secret_block]", "TIMESTAMP": [timestamp], "USERNAME": "[username]"}
*
*
* - MFA_SETUP
* -
*
* "ChallengeName": "MFA_SETUP", "ChallengeResponses": {"USERNAME": "[username]"}, "SESSION": "[Session ID from VerifySoftwareToken]"
*
*
* - SELECT_MFA_TYPE
* -
*
* "ChallengeName": "SELECT_MFA_TYPE", "ChallengeResponses": {"USERNAME": "[username]", "ANSWER": "[SMS_MFA or SOFTWARE_TOKEN_MFA]"}
*
*
*
*
* For more information about SECRET_HASH
, see Computing secret hash values. For information about DEVICE_KEY
, see Working with user devices in your user pool.
*
*/
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:
*
*
* -
*
* 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 doesn't include triggers, the ClientMetadata
* parameter serves no purpose.
*
*
* -
*
* Validate the ClientMetadata value.
*
*
* -
*
* Encrypt the ClientMetadata value. Don't use Amazon Cognito to provide sensitive information.
*
*
*
*
*/
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 responses to the challenge that you received in the previous request. Each challenge has its own required
* response parameters. The following examples are partial JSON request bodies that highlight challenge-response
* parameters.
*
*
*
* You must provide a SECRET_HASH parameter in all challenge responses to an app client that has a client secret.
*
*
*
* - SMS_MFA
* -
*
* "ChallengeName": "SMS_MFA", "ChallengeResponses": {"SMS_MFA_CODE": "[SMS_code]", "USERNAME": "[username]"}
*
*
* - PASSWORD_VERIFIER
* -
*
* "ChallengeName": "PASSWORD_VERIFIER", "ChallengeResponses": {"PASSWORD_CLAIM_SIGNATURE": "[claim_signature]", "PASSWORD_CLAIM_SECRET_BLOCK": "[secret_block]", "TIMESTAMP": [timestamp], "USERNAME": "[username]"}
*
*
* Add "DEVICE_KEY"
when you sign in with a remembered device.
*
*
* - CUSTOM_CHALLENGE
* -
*
* "ChallengeName": "CUSTOM_CHALLENGE", "ChallengeResponses": {"USERNAME": "[username]", "ANSWER": "[challenge_answer]"}
*
*
* Add "DEVICE_KEY"
when you sign in with a remembered device.
*
*
* - NEW_PASSWORD_REQUIRED
* -
*
* "ChallengeName": "NEW_PASSWORD_REQUIRED", "ChallengeResponses": {"NEW_PASSWORD": "[new_password]", "USERNAME": "[username]"}
*
*
* To set any required attributes that InitiateAuth
returned in an requiredAttributes
* parameter, add "userAttributes.[attribute_name]": "[attribute_value]"
. This parameter can also set
* values for writable attributes that aren't required by your user pool.
*
*
*
* In a NEW_PASSWORD_REQUIRED
challenge response, you can't modify a required attribute that already
* has a value. In RespondToAuthChallenge
, set a value for any keys that Amazon Cognito returned in the
* requiredAttributes
parameter, then use the UpdateUserAttributes
API operation to modify
* the value of any additional attributes.
*
*
* - SOFTWARE_TOKEN_MFA
* -
*
* "ChallengeName": "SOFTWARE_TOKEN_MFA", "ChallengeResponses": {"USERNAME": "[username]", "SOFTWARE_TOKEN_MFA_CODE": [authenticator_code]}
*
*
* - DEVICE_SRP_AUTH
* -
*
* "ChallengeName": "DEVICE_SRP_AUTH", "ChallengeResponses": {"USERNAME": "[username]", "DEVICE_KEY": "[device_key]", "SRP_A": "[srp_a]"}
*
*
* - DEVICE_PASSWORD_VERIFIER
* -
*
* "ChallengeName": "DEVICE_PASSWORD_VERIFIER", "ChallengeResponses": {"DEVICE_KEY": "[device_key]", "PASSWORD_CLAIM_SIGNATURE": "[claim_signature]", "PASSWORD_CLAIM_SECRET_BLOCK": "[secret_block]", "TIMESTAMP": [timestamp], "USERNAME": "[username]"}
*
*
* - MFA_SETUP
* -
*
* "ChallengeName": "MFA_SETUP", "ChallengeResponses": {"USERNAME": "[username]"}, "SESSION": "[Session ID from VerifySoftwareToken]"
*
*
* - SELECT_MFA_TYPE
* -
*
* "ChallengeName": "SELECT_MFA_TYPE", "ChallengeResponses": {"USERNAME": "[username]", "ANSWER": "[SMS_MFA or SOFTWARE_TOKEN_MFA]"}
*
*
*
*
* For more information about SECRET_HASH
, see Computing secret hash values. For information about DEVICE_KEY
, see Working with user devices in your user pool.
*
*
* @return The responses to the challenge that you received in the previous request. Each challenge has its own
* required response parameters. The following examples are partial JSON request bodies that highlight
* challenge-response parameters.
*
* You must provide a SECRET_HASH parameter in all challenge responses to an app client that has a client
* secret.
*
*
*
* - SMS_MFA
* -
*
* "ChallengeName": "SMS_MFA", "ChallengeResponses": {"SMS_MFA_CODE": "[SMS_code]", "USERNAME": "[username]"}
*
*
* - PASSWORD_VERIFIER
* -
*
* "ChallengeName": "PASSWORD_VERIFIER", "ChallengeResponses": {"PASSWORD_CLAIM_SIGNATURE": "[claim_signature]", "PASSWORD_CLAIM_SECRET_BLOCK": "[secret_block]", "TIMESTAMP": [timestamp], "USERNAME": "[username]"}
*
*
* Add "DEVICE_KEY"
when you sign in with a remembered device.
*
*
* - CUSTOM_CHALLENGE
* -
*
* "ChallengeName": "CUSTOM_CHALLENGE", "ChallengeResponses": {"USERNAME": "[username]", "ANSWER": "[challenge_answer]"}
*
*
* Add "DEVICE_KEY"
when you sign in with a remembered device.
*
*
* - NEW_PASSWORD_REQUIRED
* -
*
* "ChallengeName": "NEW_PASSWORD_REQUIRED", "ChallengeResponses": {"NEW_PASSWORD": "[new_password]", "USERNAME": "[username]"}
*
*
* To set any required attributes that InitiateAuth
returned in an
* requiredAttributes
parameter, add
* "userAttributes.[attribute_name]": "[attribute_value]"
. This parameter can also set values
* for writable attributes that aren't required by your user pool.
*
*
*
* In a NEW_PASSWORD_REQUIRED
challenge response, you can't modify a required attribute that
* already has a value. In RespondToAuthChallenge
, set a value for any keys that Amazon Cognito
* returned in the requiredAttributes
parameter, then use the UpdateUserAttributes
* API operation to modify the value of any additional attributes.
*
*
* - SOFTWARE_TOKEN_MFA
* -
*
* "ChallengeName": "SOFTWARE_TOKEN_MFA", "ChallengeResponses": {"USERNAME": "[username]", "SOFTWARE_TOKEN_MFA_CODE": [authenticator_code]}
*
*
* - DEVICE_SRP_AUTH
* -
*
* "ChallengeName": "DEVICE_SRP_AUTH", "ChallengeResponses": {"USERNAME": "[username]", "DEVICE_KEY": "[device_key]", "SRP_A": "[srp_a]"}
*
*
* - DEVICE_PASSWORD_VERIFIER
* -
*
* "ChallengeName": "DEVICE_PASSWORD_VERIFIER", "ChallengeResponses": {"DEVICE_KEY": "[device_key]", "PASSWORD_CLAIM_SIGNATURE": "[claim_signature]", "PASSWORD_CLAIM_SECRET_BLOCK": "[secret_block]", "TIMESTAMP": [timestamp], "USERNAME": "[username]"}
*
*
* - MFA_SETUP
* -
*
* "ChallengeName": "MFA_SETUP", "ChallengeResponses": {"USERNAME": "[username]"}, "SESSION": "[Session ID from VerifySoftwareToken]"
*
*
* - SELECT_MFA_TYPE
* -
*
* "ChallengeName": "SELECT_MFA_TYPE", "ChallengeResponses": {"USERNAME": "[username]", "ANSWER": "[SMS_MFA or SOFTWARE_TOKEN_MFA]"}
*
*
*
*
* For more information about SECRET_HASH
, see Computing secret hash values. For information about DEVICE_KEY
, see Working with user devices in your user pool.
*/
public java.util.Map getChallengeResponses() {
return challengeResponses;
}
/**
*
* The responses to the challenge that you received in the previous request. Each challenge has its own required
* response parameters. The following examples are partial JSON request bodies that highlight challenge-response
* parameters.
*
*
*
* You must provide a SECRET_HASH parameter in all challenge responses to an app client that has a client secret.
*
*
*
* - SMS_MFA
* -
*
* "ChallengeName": "SMS_MFA", "ChallengeResponses": {"SMS_MFA_CODE": "[SMS_code]", "USERNAME": "[username]"}
*
*
* - PASSWORD_VERIFIER
* -
*
* "ChallengeName": "PASSWORD_VERIFIER", "ChallengeResponses": {"PASSWORD_CLAIM_SIGNATURE": "[claim_signature]", "PASSWORD_CLAIM_SECRET_BLOCK": "[secret_block]", "TIMESTAMP": [timestamp], "USERNAME": "[username]"}
*
*
* Add "DEVICE_KEY"
when you sign in with a remembered device.
*
*
* - CUSTOM_CHALLENGE
* -
*
* "ChallengeName": "CUSTOM_CHALLENGE", "ChallengeResponses": {"USERNAME": "[username]", "ANSWER": "[challenge_answer]"}
*
*
* Add "DEVICE_KEY"
when you sign in with a remembered device.
*
*
* - NEW_PASSWORD_REQUIRED
* -
*
* "ChallengeName": "NEW_PASSWORD_REQUIRED", "ChallengeResponses": {"NEW_PASSWORD": "[new_password]", "USERNAME": "[username]"}
*
*
* To set any required attributes that InitiateAuth
returned in an requiredAttributes
* parameter, add "userAttributes.[attribute_name]": "[attribute_value]"
. This parameter can also set
* values for writable attributes that aren't required by your user pool.
*
*
*
* In a NEW_PASSWORD_REQUIRED
challenge response, you can't modify a required attribute that already
* has a value. In RespondToAuthChallenge
, set a value for any keys that Amazon Cognito returned in the
* requiredAttributes
parameter, then use the UpdateUserAttributes
API operation to modify
* the value of any additional attributes.
*
*
* - SOFTWARE_TOKEN_MFA
* -
*
* "ChallengeName": "SOFTWARE_TOKEN_MFA", "ChallengeResponses": {"USERNAME": "[username]", "SOFTWARE_TOKEN_MFA_CODE": [authenticator_code]}
*
*
* - DEVICE_SRP_AUTH
* -
*
* "ChallengeName": "DEVICE_SRP_AUTH", "ChallengeResponses": {"USERNAME": "[username]", "DEVICE_KEY": "[device_key]", "SRP_A": "[srp_a]"}
*
*
* - DEVICE_PASSWORD_VERIFIER
* -
*
* "ChallengeName": "DEVICE_PASSWORD_VERIFIER", "ChallengeResponses": {"DEVICE_KEY": "[device_key]", "PASSWORD_CLAIM_SIGNATURE": "[claim_signature]", "PASSWORD_CLAIM_SECRET_BLOCK": "[secret_block]", "TIMESTAMP": [timestamp], "USERNAME": "[username]"}
*
*
* - MFA_SETUP
* -
*
* "ChallengeName": "MFA_SETUP", "ChallengeResponses": {"USERNAME": "[username]"}, "SESSION": "[Session ID from VerifySoftwareToken]"
*
*
* - SELECT_MFA_TYPE
* -
*
* "ChallengeName": "SELECT_MFA_TYPE", "ChallengeResponses": {"USERNAME": "[username]", "ANSWER": "[SMS_MFA or SOFTWARE_TOKEN_MFA]"}
*
*
*
*
* For more information about SECRET_HASH
, see Computing secret hash values. For information about DEVICE_KEY
, see Working with user devices in your user pool.
*
*
* @param challengeResponses
* The responses to the challenge that you received in the previous request. Each challenge has its own
* required response parameters. The following examples are partial JSON request bodies that highlight
* challenge-response parameters.
*
* You must provide a SECRET_HASH parameter in all challenge responses to an app client that has a client
* secret.
*
*
*
* - SMS_MFA
* -
*
* "ChallengeName": "SMS_MFA", "ChallengeResponses": {"SMS_MFA_CODE": "[SMS_code]", "USERNAME": "[username]"}
*
*
* - PASSWORD_VERIFIER
* -
*
* "ChallengeName": "PASSWORD_VERIFIER", "ChallengeResponses": {"PASSWORD_CLAIM_SIGNATURE": "[claim_signature]", "PASSWORD_CLAIM_SECRET_BLOCK": "[secret_block]", "TIMESTAMP": [timestamp], "USERNAME": "[username]"}
*
*
* Add "DEVICE_KEY"
when you sign in with a remembered device.
*
*
* - CUSTOM_CHALLENGE
* -
*
* "ChallengeName": "CUSTOM_CHALLENGE", "ChallengeResponses": {"USERNAME": "[username]", "ANSWER": "[challenge_answer]"}
*
*
* Add "DEVICE_KEY"
when you sign in with a remembered device.
*
*
* - NEW_PASSWORD_REQUIRED
* -
*
* "ChallengeName": "NEW_PASSWORD_REQUIRED", "ChallengeResponses": {"NEW_PASSWORD": "[new_password]", "USERNAME": "[username]"}
*
*
* To set any required attributes that InitiateAuth
returned in an
* requiredAttributes
parameter, add
* "userAttributes.[attribute_name]": "[attribute_value]"
. This parameter can also set values
* for writable attributes that aren't required by your user pool.
*
*
*
* In a NEW_PASSWORD_REQUIRED
challenge response, you can't modify a required attribute that
* already has a value. In RespondToAuthChallenge
, set a value for any keys that Amazon Cognito
* returned in the requiredAttributes
parameter, then use the UpdateUserAttributes
* API operation to modify the value of any additional attributes.
*
*
* - SOFTWARE_TOKEN_MFA
* -
*
* "ChallengeName": "SOFTWARE_TOKEN_MFA", "ChallengeResponses": {"USERNAME": "[username]", "SOFTWARE_TOKEN_MFA_CODE": [authenticator_code]}
*
*
* - DEVICE_SRP_AUTH
* -
*
* "ChallengeName": "DEVICE_SRP_AUTH", "ChallengeResponses": {"USERNAME": "[username]", "DEVICE_KEY": "[device_key]", "SRP_A": "[srp_a]"}
*
*
* - DEVICE_PASSWORD_VERIFIER
* -
*
* "ChallengeName": "DEVICE_PASSWORD_VERIFIER", "ChallengeResponses": {"DEVICE_KEY": "[device_key]", "PASSWORD_CLAIM_SIGNATURE": "[claim_signature]", "PASSWORD_CLAIM_SECRET_BLOCK": "[secret_block]", "TIMESTAMP": [timestamp], "USERNAME": "[username]"}
*
*
* - MFA_SETUP
* -
*
* "ChallengeName": "MFA_SETUP", "ChallengeResponses": {"USERNAME": "[username]"}, "SESSION": "[Session ID from VerifySoftwareToken]"
*
*
* - SELECT_MFA_TYPE
* -
*
* "ChallengeName": "SELECT_MFA_TYPE", "ChallengeResponses": {"USERNAME": "[username]", "ANSWER": "[SMS_MFA or SOFTWARE_TOKEN_MFA]"}
*
*
*
*
* For more information about SECRET_HASH
, see Computing secret hash values. For information about DEVICE_KEY
, see Working with user devices in your user pool.
*/
public void setChallengeResponses(java.util.Map challengeResponses) {
this.challengeResponses = challengeResponses;
}
/**
*
* The responses to the challenge that you received in the previous request. Each challenge has its own required
* response parameters. The following examples are partial JSON request bodies that highlight challenge-response
* parameters.
*
*
*
* You must provide a SECRET_HASH parameter in all challenge responses to an app client that has a client secret.
*
*
*
* - SMS_MFA
* -
*
* "ChallengeName": "SMS_MFA", "ChallengeResponses": {"SMS_MFA_CODE": "[SMS_code]", "USERNAME": "[username]"}
*
*
* - PASSWORD_VERIFIER
* -
*
* "ChallengeName": "PASSWORD_VERIFIER", "ChallengeResponses": {"PASSWORD_CLAIM_SIGNATURE": "[claim_signature]", "PASSWORD_CLAIM_SECRET_BLOCK": "[secret_block]", "TIMESTAMP": [timestamp], "USERNAME": "[username]"}
*
*
* Add "DEVICE_KEY"
when you sign in with a remembered device.
*
*
* - CUSTOM_CHALLENGE
* -
*
* "ChallengeName": "CUSTOM_CHALLENGE", "ChallengeResponses": {"USERNAME": "[username]", "ANSWER": "[challenge_answer]"}
*
*
* Add "DEVICE_KEY"
when you sign in with a remembered device.
*
*
* - NEW_PASSWORD_REQUIRED
* -
*
* "ChallengeName": "NEW_PASSWORD_REQUIRED", "ChallengeResponses": {"NEW_PASSWORD": "[new_password]", "USERNAME": "[username]"}
*
*
* To set any required attributes that InitiateAuth
returned in an requiredAttributes
* parameter, add "userAttributes.[attribute_name]": "[attribute_value]"
. This parameter can also set
* values for writable attributes that aren't required by your user pool.
*
*
*
* In a NEW_PASSWORD_REQUIRED
challenge response, you can't modify a required attribute that already
* has a value. In RespondToAuthChallenge
, set a value for any keys that Amazon Cognito returned in the
* requiredAttributes
parameter, then use the UpdateUserAttributes
API operation to modify
* the value of any additional attributes.
*
*
* - SOFTWARE_TOKEN_MFA
* -
*
* "ChallengeName": "SOFTWARE_TOKEN_MFA", "ChallengeResponses": {"USERNAME": "[username]", "SOFTWARE_TOKEN_MFA_CODE": [authenticator_code]}
*
*
* - DEVICE_SRP_AUTH
* -
*
* "ChallengeName": "DEVICE_SRP_AUTH", "ChallengeResponses": {"USERNAME": "[username]", "DEVICE_KEY": "[device_key]", "SRP_A": "[srp_a]"}
*
*
* - DEVICE_PASSWORD_VERIFIER
* -
*
* "ChallengeName": "DEVICE_PASSWORD_VERIFIER", "ChallengeResponses": {"DEVICE_KEY": "[device_key]", "PASSWORD_CLAIM_SIGNATURE": "[claim_signature]", "PASSWORD_CLAIM_SECRET_BLOCK": "[secret_block]", "TIMESTAMP": [timestamp], "USERNAME": "[username]"}
*
*
* - MFA_SETUP
* -
*
* "ChallengeName": "MFA_SETUP", "ChallengeResponses": {"USERNAME": "[username]"}, "SESSION": "[Session ID from VerifySoftwareToken]"
*
*
* - SELECT_MFA_TYPE
* -
*
* "ChallengeName": "SELECT_MFA_TYPE", "ChallengeResponses": {"USERNAME": "[username]", "ANSWER": "[SMS_MFA or SOFTWARE_TOKEN_MFA]"}
*
*
*
*
* For more information about SECRET_HASH
, see Computing secret hash values. For information about DEVICE_KEY
, see Working with user devices in your user pool.
*
*
* @param challengeResponses
* The responses to the challenge that you received in the previous request. Each challenge has its own
* required response parameters. The following examples are partial JSON request bodies that highlight
* challenge-response parameters.
*
* You must provide a SECRET_HASH parameter in all challenge responses to an app client that has a client
* secret.
*
*
*
* - SMS_MFA
* -
*
* "ChallengeName": "SMS_MFA", "ChallengeResponses": {"SMS_MFA_CODE": "[SMS_code]", "USERNAME": "[username]"}
*
*
* - PASSWORD_VERIFIER
* -
*
* "ChallengeName": "PASSWORD_VERIFIER", "ChallengeResponses": {"PASSWORD_CLAIM_SIGNATURE": "[claim_signature]", "PASSWORD_CLAIM_SECRET_BLOCK": "[secret_block]", "TIMESTAMP": [timestamp], "USERNAME": "[username]"}
*
*
* Add "DEVICE_KEY"
when you sign in with a remembered device.
*
*
* - CUSTOM_CHALLENGE
* -
*
* "ChallengeName": "CUSTOM_CHALLENGE", "ChallengeResponses": {"USERNAME": "[username]", "ANSWER": "[challenge_answer]"}
*
*
* Add "DEVICE_KEY"
when you sign in with a remembered device.
*
*
* - NEW_PASSWORD_REQUIRED
* -
*
* "ChallengeName": "NEW_PASSWORD_REQUIRED", "ChallengeResponses": {"NEW_PASSWORD": "[new_password]", "USERNAME": "[username]"}
*
*
* To set any required attributes that InitiateAuth
returned in an
* requiredAttributes
parameter, add
* "userAttributes.[attribute_name]": "[attribute_value]"
. This parameter can also set values
* for writable attributes that aren't required by your user pool.
*
*
*
* In a NEW_PASSWORD_REQUIRED
challenge response, you can't modify a required attribute that
* already has a value. In RespondToAuthChallenge
, set a value for any keys that Amazon Cognito
* returned in the requiredAttributes
parameter, then use the UpdateUserAttributes
* API operation to modify the value of any additional attributes.
*
*
* - SOFTWARE_TOKEN_MFA
* -
*
* "ChallengeName": "SOFTWARE_TOKEN_MFA", "ChallengeResponses": {"USERNAME": "[username]", "SOFTWARE_TOKEN_MFA_CODE": [authenticator_code]}
*
*
* - DEVICE_SRP_AUTH
* -
*
* "ChallengeName": "DEVICE_SRP_AUTH", "ChallengeResponses": {"USERNAME": "[username]", "DEVICE_KEY": "[device_key]", "SRP_A": "[srp_a]"}
*
*
* - DEVICE_PASSWORD_VERIFIER
* -
*
* "ChallengeName": "DEVICE_PASSWORD_VERIFIER", "ChallengeResponses": {"DEVICE_KEY": "[device_key]", "PASSWORD_CLAIM_SIGNATURE": "[claim_signature]", "PASSWORD_CLAIM_SECRET_BLOCK": "[secret_block]", "TIMESTAMP": [timestamp], "USERNAME": "[username]"}
*
*
* - MFA_SETUP
* -
*
* "ChallengeName": "MFA_SETUP", "ChallengeResponses": {"USERNAME": "[username]"}, "SESSION": "[Session ID from VerifySoftwareToken]"
*
*
* - SELECT_MFA_TYPE
* -
*
* "ChallengeName": "SELECT_MFA_TYPE", "ChallengeResponses": {"USERNAME": "[username]", "ANSWER": "[SMS_MFA or SOFTWARE_TOKEN_MFA]"}
*
*
*
*
* For more information about SECRET_HASH
, see Computing secret hash values. For information about DEVICE_KEY
, see Working with user devices in your user pool.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public RespondToAuthChallengeRequest withChallengeResponses(java.util.Map challengeResponses) {
setChallengeResponses(challengeResponses);
return this;
}
/**
* Add a single ChallengeResponses entry
*
* @see RespondToAuthChallengeRequest#withChallengeResponses
* @returns a reference to this object so that method calls can be chained together.
*/
public RespondToAuthChallengeRequest addChallengeResponsesEntry(String key, String value) {
if (null == this.challengeResponses) {
this.challengeResponses = new java.util.HashMap();
}
if (this.challengeResponses.containsKey(key))
throw new IllegalArgumentException("Duplicated keys (" + key.toString() + ") are provided.");
this.challengeResponses.put(key, value);
return this;
}
/**
* Removes all the entries added into ChallengeResponses.
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public RespondToAuthChallengeRequest clearChallengeResponsesEntries() {
this.challengeResponses = null;
return this;
}
/**
*
* The Amazon Pinpoint analytics metadata that contributes to your metrics for RespondToAuthChallenge
* calls.
*
*
* @param analyticsMetadata
* The Amazon Pinpoint analytics metadata that contributes to your metrics for
* RespondToAuthChallenge
calls.
*/
public void setAnalyticsMetadata(AnalyticsMetadataType analyticsMetadata) {
this.analyticsMetadata = analyticsMetadata;
}
/**
*
* The Amazon Pinpoint analytics metadata that contributes to your metrics for RespondToAuthChallenge
* calls.
*
*
* @return The Amazon Pinpoint analytics metadata that contributes to your metrics for
* RespondToAuthChallenge
calls.
*/
public AnalyticsMetadataType getAnalyticsMetadata() {
return this.analyticsMetadata;
}
/**
*
* The Amazon Pinpoint analytics metadata that contributes to your metrics for RespondToAuthChallenge
* calls.
*
*
* @param analyticsMetadata
* The Amazon Pinpoint analytics metadata that contributes to your metrics for
* RespondToAuthChallenge
calls.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public RespondToAuthChallengeRequest withAnalyticsMetadata(AnalyticsMetadataType analyticsMetadata) {
setAnalyticsMetadata(analyticsMetadata);
return this;
}
/**
*
* 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.
*
*
* @param userContextData
* 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.
*/
public void setUserContextData(UserContextDataType userContextData) {
this.userContextData = userContextData;
}
/**
*
* 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.
*
*
* @return 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.
*/
public UserContextDataType getUserContextData() {
return this.userContextData;
}
/**
*
* 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.
*
*
* @param userContextData
* 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.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public RespondToAuthChallengeRequest withUserContextData(UserContextDataType userContextData) {
setUserContextData(userContextData);
return this;
}
/**
*
* 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:
*
*
* -
*
* 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 doesn't include triggers, the ClientMetadata
* parameter serves no purpose.
*
*
* -
*
* Validate the ClientMetadata value.
*
*
* -
*
* Encrypt the ClientMetadata value. Don't use Amazon Cognito to provide sensitive information.
*
*
*
*
*
* @return 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:
*
*
* -
*
* 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 doesn't include triggers, the
* ClientMetadata parameter serves no purpose.
*
*
* -
*
* Validate the ClientMetadata value.
*
*
* -
*
* Encrypt the ClientMetadata value. Don't use Amazon Cognito to provide sensitive information.
*
*
*
*/
public java.util.Map getClientMetadata() {
return clientMetadata;
}
/**
*
* 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:
*
*
* -
*
* 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 doesn't include triggers, the ClientMetadata
* parameter serves no purpose.
*
*
* -
*
* Validate the ClientMetadata value.
*
*
* -
*
* Encrypt the ClientMetadata value. Don't use Amazon Cognito to provide sensitive information.
*
*
*
*
*
* @param clientMetadata
* 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:
*
*
* -
*
* 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 doesn't include triggers, the
* ClientMetadata parameter serves no purpose.
*
*
* -
*
* Validate the ClientMetadata value.
*
*
* -
*
* Encrypt the ClientMetadata value. Don't use Amazon Cognito to provide sensitive information.
*
*
*
*/
public void setClientMetadata(java.util.Map clientMetadata) {
this.clientMetadata = clientMetadata;
}
/**
*
* 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:
*
*
* -
*
* 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 doesn't include triggers, the ClientMetadata
* parameter serves no purpose.
*
*
* -
*
* Validate the ClientMetadata value.
*
*
* -
*
* Encrypt the ClientMetadata value. Don't use Amazon Cognito to provide sensitive information.
*
*
*
*
*
* @param clientMetadata
* 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:
*
*
* -
*
* 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 doesn't include triggers, the
* ClientMetadata parameter serves no purpose.
*
*
* -
*
* Validate the ClientMetadata value.
*
*
* -
*
* Encrypt the ClientMetadata value. Don't use Amazon Cognito to provide sensitive information.
*
*
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public RespondToAuthChallengeRequest withClientMetadata(java.util.Map clientMetadata) {
setClientMetadata(clientMetadata);
return this;
}
/**
* Add a single ClientMetadata entry
*
* @see RespondToAuthChallengeRequest#withClientMetadata
* @returns a reference to this object so that method calls can be chained together.
*/
public RespondToAuthChallengeRequest addClientMetadataEntry(String key, String value) {
if (null == this.clientMetadata) {
this.clientMetadata = new java.util.HashMap();
}
if (this.clientMetadata.containsKey(key))
throw new IllegalArgumentException("Duplicated keys (" + key.toString() + ") are provided.");
this.clientMetadata.put(key, value);
return this;
}
/**
* Removes all the entries added into ClientMetadata.
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public RespondToAuthChallengeRequest clearClientMetadataEntries() {
this.clientMetadata = null;
return this;
}
/**
* Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be
* redacted from this string using a placeholder value.
*
* @return A string representation of this object.
*
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("{");
if (getClientId() != null)
sb.append("ClientId: ").append("***Sensitive Data Redacted***").append(",");
if (getChallengeName() != null)
sb.append("ChallengeName: ").append(getChallengeName()).append(",");
if (getSession() != null)
sb.append("Session: ").append("***Sensitive Data Redacted***").append(",");
if (getChallengeResponses() != null)
sb.append("ChallengeResponses: ").append("***Sensitive Data Redacted***").append(",");
if (getAnalyticsMetadata() != null)
sb.append("AnalyticsMetadata: ").append(getAnalyticsMetadata()).append(",");
if (getUserContextData() != null)
sb.append("UserContextData: ").append("***Sensitive Data Redacted***").append(",");
if (getClientMetadata() != null)
sb.append("ClientMetadata: ").append(getClientMetadata());
sb.append("}");
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof RespondToAuthChallengeRequest == false)
return false;
RespondToAuthChallengeRequest other = (RespondToAuthChallengeRequest) obj;
if (other.getClientId() == null ^ this.getClientId() == null)
return false;
if (other.getClientId() != null && other.getClientId().equals(this.getClientId()) == false)
return false;
if (other.getChallengeName() == null ^ this.getChallengeName() == null)
return false;
if (other.getChallengeName() != null && other.getChallengeName().equals(this.getChallengeName()) == false)
return false;
if (other.getSession() == null ^ this.getSession() == null)
return false;
if (other.getSession() != null && other.getSession().equals(this.getSession()) == false)
return false;
if (other.getChallengeResponses() == null ^ this.getChallengeResponses() == null)
return false;
if (other.getChallengeResponses() != null && other.getChallengeResponses().equals(this.getChallengeResponses()) == false)
return false;
if (other.getAnalyticsMetadata() == null ^ this.getAnalyticsMetadata() == null)
return false;
if (other.getAnalyticsMetadata() != null && other.getAnalyticsMetadata().equals(this.getAnalyticsMetadata()) == false)
return false;
if (other.getUserContextData() == null ^ this.getUserContextData() == null)
return false;
if (other.getUserContextData() != null && other.getUserContextData().equals(this.getUserContextData()) == false)
return false;
if (other.getClientMetadata() == null ^ this.getClientMetadata() == null)
return false;
if (other.getClientMetadata() != null && other.getClientMetadata().equals(this.getClientMetadata()) == false)
return false;
return true;
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime * hashCode + ((getClientId() == null) ? 0 : getClientId().hashCode());
hashCode = prime * hashCode + ((getChallengeName() == null) ? 0 : getChallengeName().hashCode());
hashCode = prime * hashCode + ((getSession() == null) ? 0 : getSession().hashCode());
hashCode = prime * hashCode + ((getChallengeResponses() == null) ? 0 : getChallengeResponses().hashCode());
hashCode = prime * hashCode + ((getAnalyticsMetadata() == null) ? 0 : getAnalyticsMetadata().hashCode());
hashCode = prime * hashCode + ((getUserContextData() == null) ? 0 : getUserContextData().hashCode());
hashCode = prime * hashCode + ((getClientMetadata() == null) ? 0 : getClientMetadata().hashCode());
return hashCode;
}
@Override
public RespondToAuthChallengeRequest clone() {
return (RespondToAuthChallengeRequest) super.clone();
}
}