/* * 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; /** *

* Initiates the authentication request. *

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

* The authentication flow for this call to run. The API action will depend on this value. For example: *

* *

* Valid values include: *

* *

* ADMIN_NO_SRP_AUTH isn't a valid value. *

*/ private String authFlow; /** *

* The authentication parameters. These are inputs corresponding to the AuthFlow that you're invoking. * The required values depend on the value of AuthFlow: *

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

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

*

* You create custom workflows by assigning Lambda functions to user pool triggers. When you use the InitiateAuth * API action, Amazon Cognito invokes the Lambda functions that are specified for various triggers. The * ClientMetadata value is passed as input to the functions for only the following triggers: *

* *

* When Amazon Cognito invokes the functions for these triggers, it passes a JSON payload, which the function * receives as input. This payload contains a validationData attribute, which provides the data that * you assigned to the ClientMetadata parameter in your InitiateAuth request. In your function code in Lambda, you * can process the validationData value to enhance your workflow for your specific needs. *

*

* When you use the InitiateAuth API action, Amazon Cognito also invokes the functions for the following triggers, * but it doesn't provide the ClientMetadata value as input: *

* *

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

*/ private String clientId; /** *

* The Amazon Pinpoint analytics metadata that contributes to your metrics for InitiateAuth 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; /** *

* The authentication flow for this call to run. The API action will depend on this value. For example: *

* *

* Valid values include: *

* *

* ADMIN_NO_SRP_AUTH isn't a valid value. *

* * @param authFlow * The authentication flow for this call to run. The API action will depend on this value. For example:

* *

* Valid values include: *

* *

* ADMIN_NO_SRP_AUTH isn't a valid value. * @see AuthFlowType */ public void setAuthFlow(String authFlow) { this.authFlow = authFlow; } /** *

* The authentication flow for this call to run. The API action will depend on this value. For example: *

* *

* Valid values include: *

* *

* ADMIN_NO_SRP_AUTH isn't a valid value. *

* * @return The authentication flow for this call to run. The API action will depend on this value. For example:

* *

* Valid values include: *

* *

* ADMIN_NO_SRP_AUTH isn't a valid value. * @see AuthFlowType */ public String getAuthFlow() { return this.authFlow; } /** *

* The authentication flow for this call to run. The API action will depend on this value. For example: *

* *

* Valid values include: *

* *

* ADMIN_NO_SRP_AUTH isn't a valid value. *

* * @param authFlow * The authentication flow for this call to run. The API action will depend on this value. For example:

* *

* Valid values include: *

* *

* 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 AuthFlowType */ public InitiateAuthRequest withAuthFlow(String authFlow) { setAuthFlow(authFlow); return this; } /** *

* The authentication flow for this call to run. The API action will depend on this value. For example: *

* *

* Valid values include: *

* *

* ADMIN_NO_SRP_AUTH isn't a valid value. *

* * @param authFlow * The authentication flow for this call to run. The API action will depend on this value. For example:

* *

* Valid values include: *

* *

* ADMIN_NO_SRP_AUTH isn't a valid value. * @see AuthFlowType */ public void setAuthFlow(AuthFlowType authFlow) { withAuthFlow(authFlow); } /** *

* The authentication flow for this call to run. The API action will depend on this value. For example: *

* *

* Valid values include: *

* *

* ADMIN_NO_SRP_AUTH isn't a valid value. *

* * @param authFlow * The authentication flow for this call to run. The API action will depend on this value. For example:

* *

* Valid values include: *

* *

* 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 AuthFlowType */ public InitiateAuthRequest withAuthFlow(AuthFlowType authFlow) { this.authFlow = authFlow.toString(); return this; } /** *

* The authentication parameters. These are inputs corresponding to the AuthFlow that you're invoking. * The required values depend on the value of AuthFlow: *

* * * @return The authentication parameters. These are inputs corresponding to the AuthFlow that you're * invoking. The required values depend on the value of AuthFlow:

*