All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.cognitoidp.model.RespondToAuthChallengeRequest Maven / Gradle / Ivy

/*
 * Copyright 2017-2022 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). *

*
*
    *
  • *

    * SMS_MFA: SMS_MFA_CODE, USERNAME. *

    *
  • *
  • *

    * PASSWORD_VERIFIER: PASSWORD_CLAIM_SIGNATURE, PASSWORD_CLAIM_SECRET_BLOCK, * TIMESTAMP, USERNAME. *

    * *

    * PASSWORD_VERIFIER requires DEVICE_KEY when you sign in with a remembered device. *

    *
  • *
  • *

    * NEW_PASSWORD_REQUIRED: NEW_PASSWORD, USERNAME, SECRET_HASH * (if app client is configured with client secret). To set any required attributes that Amazon Cognito returned as * requiredAttributes in the InitiateAuth response, add a * userAttributes.attributename parameter. 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: USERNAME and SOFTWARE_TOKEN_MFA_CODE are required * attributes. *

    *
  • *
  • *

    * DEVICE_SRP_AUTH requires USERNAME, DEVICE_KEY, SRP_A (and * SECRET_HASH). *

    *
  • *
  • *

    * DEVICE_PASSWORD_VERIFIER requires everything that PASSWORD_VERIFIER requires, plus * DEVICE_KEY. *

    *
  • *
  • *

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

    *
  • *
*/ 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 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). *

*
*
    *
  • *

    * SMS_MFA: SMS_MFA_CODE, USERNAME. *

    *
  • *
  • *

    * PASSWORD_VERIFIER: PASSWORD_CLAIM_SIGNATURE, PASSWORD_CLAIM_SECRET_BLOCK, * TIMESTAMP, USERNAME. *

    * *

    * PASSWORD_VERIFIER requires DEVICE_KEY when you sign in with a remembered device. *

    *
  • *
  • *

    * NEW_PASSWORD_REQUIRED: NEW_PASSWORD, USERNAME, SECRET_HASH * (if app client is configured with client secret). To set any required attributes that Amazon Cognito returned as * requiredAttributes in the InitiateAuth response, add a * userAttributes.attributename parameter. 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: USERNAME and SOFTWARE_TOKEN_MFA_CODE are required * attributes. *

    *
  • *
  • *

    * DEVICE_SRP_AUTH requires USERNAME, DEVICE_KEY, SRP_A (and * SECRET_HASH). *

    *
  • *
  • *

    * DEVICE_PASSWORD_VERIFIER requires everything that PASSWORD_VERIFIER requires, plus * DEVICE_KEY. *

    *
  • *
  • *

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

    *
  • *
* * @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). *

*
*
    *
  • *

    * SMS_MFA: SMS_MFA_CODE, USERNAME. *

    *
  • *
  • *

    * PASSWORD_VERIFIER: PASSWORD_CLAIM_SIGNATURE, * PASSWORD_CLAIM_SECRET_BLOCK, TIMESTAMP, USERNAME. *

    * *

    * PASSWORD_VERIFIER requires DEVICE_KEY when you sign in with a remembered * device. *

    *
  • *
  • *

    * NEW_PASSWORD_REQUIRED: NEW_PASSWORD, USERNAME, * SECRET_HASH (if app client is configured with client secret). To set any required attributes * that Amazon Cognito returned as requiredAttributes in the InitiateAuth * response, add a userAttributes.attributename parameter. 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: USERNAME and SOFTWARE_TOKEN_MFA_CODE are * required attributes. *

    *
  • *
  • *

    * DEVICE_SRP_AUTH requires USERNAME, DEVICE_KEY, SRP_A * (and SECRET_HASH). *

    *
  • *
  • *

    * DEVICE_PASSWORD_VERIFIER requires everything that PASSWORD_VERIFIER requires, * plus DEVICE_KEY. *

    *
  • *
  • *

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

    *
  • */ public java.util.Map getChallengeResponses() { return challengeResponses; } /** *

    * 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). *

    *
    *
      *
    • *

      * SMS_MFA: SMS_MFA_CODE, USERNAME. *

      *
    • *
    • *

      * PASSWORD_VERIFIER: PASSWORD_CLAIM_SIGNATURE, PASSWORD_CLAIM_SECRET_BLOCK, * TIMESTAMP, USERNAME. *

      * *

      * PASSWORD_VERIFIER requires DEVICE_KEY when you sign in with a remembered device. *

      *
    • *
    • *

      * NEW_PASSWORD_REQUIRED: NEW_PASSWORD, USERNAME, SECRET_HASH * (if app client is configured with client secret). To set any required attributes that Amazon Cognito returned as * requiredAttributes in the InitiateAuth response, add a * userAttributes.attributename parameter. 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: USERNAME and SOFTWARE_TOKEN_MFA_CODE are required * attributes. *

      *
    • *
    • *

      * DEVICE_SRP_AUTH requires USERNAME, DEVICE_KEY, SRP_A (and * SECRET_HASH). *

      *
    • *
    • *

      * DEVICE_PASSWORD_VERIFIER requires everything that PASSWORD_VERIFIER requires, plus * DEVICE_KEY. *

      *
    • *
    • *

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

      *
    • *
    * * @param challengeResponses * 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). *

    *
    *
      *
    • *

      * SMS_MFA: SMS_MFA_CODE, USERNAME. *

      *
    • *
    • *

      * PASSWORD_VERIFIER: PASSWORD_CLAIM_SIGNATURE, * PASSWORD_CLAIM_SECRET_BLOCK, TIMESTAMP, USERNAME. *

      * *

      * PASSWORD_VERIFIER requires DEVICE_KEY when you sign in with a remembered device. *

      *
    • *
    • *

      * NEW_PASSWORD_REQUIRED: NEW_PASSWORD, USERNAME, * SECRET_HASH (if app client is configured with client secret). To set any required attributes * that Amazon Cognito returned as requiredAttributes in the InitiateAuth response, * add a userAttributes.attributename parameter. 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: USERNAME and SOFTWARE_TOKEN_MFA_CODE are * required attributes. *

      *
    • *
    • *

      * DEVICE_SRP_AUTH requires USERNAME, DEVICE_KEY, SRP_A * (and SECRET_HASH). *

      *
    • *
    • *

      * DEVICE_PASSWORD_VERIFIER requires everything that PASSWORD_VERIFIER requires, * plus DEVICE_KEY. *

      *
    • *
    • *

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

      *
    • */ public void setChallengeResponses(java.util.Map challengeResponses) { this.challengeResponses = challengeResponses; } /** *

      * 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). *

      *
      *
        *
      • *

        * SMS_MFA: SMS_MFA_CODE, USERNAME. *

        *
      • *
      • *

        * PASSWORD_VERIFIER: PASSWORD_CLAIM_SIGNATURE, PASSWORD_CLAIM_SECRET_BLOCK, * TIMESTAMP, USERNAME. *

        * *

        * PASSWORD_VERIFIER requires DEVICE_KEY when you sign in with a remembered device. *

        *
      • *
      • *

        * NEW_PASSWORD_REQUIRED: NEW_PASSWORD, USERNAME, SECRET_HASH * (if app client is configured with client secret). To set any required attributes that Amazon Cognito returned as * requiredAttributes in the InitiateAuth response, add a * userAttributes.attributename parameter. 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: USERNAME and SOFTWARE_TOKEN_MFA_CODE are required * attributes. *

        *
      • *
      • *

        * DEVICE_SRP_AUTH requires USERNAME, DEVICE_KEY, SRP_A (and * SECRET_HASH). *

        *
      • *
      • *

        * DEVICE_PASSWORD_VERIFIER requires everything that PASSWORD_VERIFIER requires, plus * DEVICE_KEY. *

        *
      • *
      • *

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

        *
      • *
      * * @param challengeResponses * 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). *

      *
      *
        *
      • *

        * SMS_MFA: SMS_MFA_CODE, USERNAME. *

        *
      • *
      • *

        * PASSWORD_VERIFIER: PASSWORD_CLAIM_SIGNATURE, * PASSWORD_CLAIM_SECRET_BLOCK, TIMESTAMP, USERNAME. *

        * *

        * PASSWORD_VERIFIER requires DEVICE_KEY when you sign in with a remembered device. *

        *
      • *
      • *

        * NEW_PASSWORD_REQUIRED: NEW_PASSWORD, USERNAME, * SECRET_HASH (if app client is configured with client secret). To set any required attributes * that Amazon Cognito returned as requiredAttributes in the InitiateAuth response, * add a userAttributes.attributename parameter. 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: USERNAME and SOFTWARE_TOKEN_MFA_CODE are * required attributes. *

        *
      • *
      • *

        * DEVICE_SRP_AUTH requires USERNAME, DEVICE_KEY, SRP_A * (and SECRET_HASH). *

        *
      • *
      • *

        * DEVICE_PASSWORD_VERIFIER requires everything that PASSWORD_VERIFIER requires, * plus DEVICE_KEY. *

        *
      • *
      • *

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

        *
      • * @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(getSession()).append(","); if (getChallengeResponses() != null) sb.append("ChallengeResponses: ").append(getChallengeResponses()).append(","); if (getAnalyticsMetadata() != null) sb.append("AnalyticsMetadata: ").append(getAnalyticsMetadata()).append(","); if (getUserContextData() != null) sb.append("UserContextData: ").append(getUserContextData()).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(); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy