/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Initiates the authorization request, as an administrator.See
* Also:
AWS
* API Reference
The ID of the Amazon Cognito user pool.
*/ inline const Aws::String& GetUserPoolId() const{ return m_userPoolId; } /** *The ID of the Amazon Cognito user pool.
*/ inline bool UserPoolIdHasBeenSet() const { return m_userPoolIdHasBeenSet; } /** *The ID of the Amazon Cognito user pool.
*/ inline void SetUserPoolId(const Aws::String& value) { m_userPoolIdHasBeenSet = true; m_userPoolId = value; } /** *The ID of the Amazon Cognito user pool.
*/ inline void SetUserPoolId(Aws::String&& value) { m_userPoolIdHasBeenSet = true; m_userPoolId = std::move(value); } /** *The ID of the Amazon Cognito user pool.
*/ inline void SetUserPoolId(const char* value) { m_userPoolIdHasBeenSet = true; m_userPoolId.assign(value); } /** *The ID of the Amazon Cognito user pool.
*/ inline AdminInitiateAuthRequest& WithUserPoolId(const Aws::String& value) { SetUserPoolId(value); return *this;} /** *The ID of the Amazon Cognito user pool.
*/ inline AdminInitiateAuthRequest& WithUserPoolId(Aws::String&& value) { SetUserPoolId(std::move(value)); return *this;} /** *The ID of the Amazon Cognito user pool.
*/ inline AdminInitiateAuthRequest& WithUserPoolId(const char* value) { SetUserPoolId(value); return *this;} /** *The app client ID.
*/ inline const Aws::String& GetClientId() const{ return m_clientId; } /** *The app client ID.
*/ inline bool ClientIdHasBeenSet() const { return m_clientIdHasBeenSet; } /** *The app client ID.
*/ inline void SetClientId(const Aws::String& value) { m_clientIdHasBeenSet = true; m_clientId = value; } /** *The app client ID.
*/ inline void SetClientId(Aws::String&& value) { m_clientIdHasBeenSet = true; m_clientId = std::move(value); } /** *The app client ID.
*/ inline void SetClientId(const char* value) { m_clientIdHasBeenSet = true; m_clientId.assign(value); } /** *The app client ID.
*/ inline AdminInitiateAuthRequest& WithClientId(const Aws::String& value) { SetClientId(value); return *this;} /** *The app client ID.
*/ inline AdminInitiateAuthRequest& WithClientId(Aws::String&& value) { SetClientId(std::move(value)); return *this;} /** *The app client ID.
*/ inline AdminInitiateAuthRequest& WithClientId(const char* value) { SetClientId(value); return *this;} /** *The authentication flow for this call to run. The API action will depend on * this value. For example:
REFRESH_TOKEN_AUTH
will
* take in a valid refresh token and return new tokens.
* USER_SRP_AUTH
will take in USERNAME
and
* SRP_A
and return the Secure Remote Password (SRP) protocol
* variables to be used for next challenge execution.
* ADMIN_USER_PASSWORD_AUTH
will take in USERNAME
and
* PASSWORD
and return the next challenge or tokens.
Valid values include:
USER_SRP_AUTH
:
* Authentication flow for the Secure Remote Password (SRP) protocol.
REFRESH_TOKEN_AUTH
/REFRESH_TOKEN
:
* Authentication flow for refreshing the access token and ID token by supplying a
* valid refresh token.
CUSTOM_AUTH
: Custom
* authentication flow.
ADMIN_NO_SRP_AUTH
: Non-SRP
* authentication flow; you can pass in the USERNAME and PASSWORD directly if the
* flow is enabled for calling the app client.
* ADMIN_USER_PASSWORD_AUTH
: Admin-based user password authentication.
* This replaces the ADMIN_NO_SRP_AUTH
authentication flow. In this
* flow, Amazon Cognito receives the password in the request instead of using the
* SRP process to verify passwords.
The authentication flow for this call to run. The API action will depend on * this value. For example:
REFRESH_TOKEN_AUTH
will
* take in a valid refresh token and return new tokens.
* USER_SRP_AUTH
will take in USERNAME
and
* SRP_A
and return the Secure Remote Password (SRP) protocol
* variables to be used for next challenge execution.
* ADMIN_USER_PASSWORD_AUTH
will take in USERNAME
and
* PASSWORD
and return the next challenge or tokens.
Valid values include:
USER_SRP_AUTH
:
* Authentication flow for the Secure Remote Password (SRP) protocol.
REFRESH_TOKEN_AUTH
/REFRESH_TOKEN
:
* Authentication flow for refreshing the access token and ID token by supplying a
* valid refresh token.
CUSTOM_AUTH
: Custom
* authentication flow.
ADMIN_NO_SRP_AUTH
: Non-SRP
* authentication flow; you can pass in the USERNAME and PASSWORD directly if the
* flow is enabled for calling the app client.
* ADMIN_USER_PASSWORD_AUTH
: Admin-based user password authentication.
* This replaces the ADMIN_NO_SRP_AUTH
authentication flow. In this
* flow, Amazon Cognito receives the password in the request instead of using the
* SRP process to verify passwords.
The authentication flow for this call to run. The API action will depend on * this value. For example:
REFRESH_TOKEN_AUTH
will
* take in a valid refresh token and return new tokens.
* USER_SRP_AUTH
will take in USERNAME
and
* SRP_A
and return the Secure Remote Password (SRP) protocol
* variables to be used for next challenge execution.
* ADMIN_USER_PASSWORD_AUTH
will take in USERNAME
and
* PASSWORD
and return the next challenge or tokens.
Valid values include:
USER_SRP_AUTH
:
* Authentication flow for the Secure Remote Password (SRP) protocol.
REFRESH_TOKEN_AUTH
/REFRESH_TOKEN
:
* Authentication flow for refreshing the access token and ID token by supplying a
* valid refresh token.
CUSTOM_AUTH
: Custom
* authentication flow.
ADMIN_NO_SRP_AUTH
: Non-SRP
* authentication flow; you can pass in the USERNAME and PASSWORD directly if the
* flow is enabled for calling the app client.
* ADMIN_USER_PASSWORD_AUTH
: Admin-based user password authentication.
* This replaces the ADMIN_NO_SRP_AUTH
authentication flow. In this
* flow, Amazon Cognito receives the password in the request instead of using the
* SRP process to verify passwords.
The authentication flow for this call to run. The API action will depend on * this value. For example:
REFRESH_TOKEN_AUTH
will
* take in a valid refresh token and return new tokens.
* USER_SRP_AUTH
will take in USERNAME
and
* SRP_A
and return the Secure Remote Password (SRP) protocol
* variables to be used for next challenge execution.
* ADMIN_USER_PASSWORD_AUTH
will take in USERNAME
and
* PASSWORD
and return the next challenge or tokens.
Valid values include:
USER_SRP_AUTH
:
* Authentication flow for the Secure Remote Password (SRP) protocol.
REFRESH_TOKEN_AUTH
/REFRESH_TOKEN
:
* Authentication flow for refreshing the access token and ID token by supplying a
* valid refresh token.
CUSTOM_AUTH
: Custom
* authentication flow.
ADMIN_NO_SRP_AUTH
: Non-SRP
* authentication flow; you can pass in the USERNAME and PASSWORD directly if the
* flow is enabled for calling the app client.
* ADMIN_USER_PASSWORD_AUTH
: Admin-based user password authentication.
* This replaces the ADMIN_NO_SRP_AUTH
authentication flow. In this
* flow, Amazon Cognito receives the password in the request instead of using the
* SRP process to verify passwords.
The authentication flow for this call to run. The API action will depend on * this value. For example:
REFRESH_TOKEN_AUTH
will
* take in a valid refresh token and return new tokens.
* USER_SRP_AUTH
will take in USERNAME
and
* SRP_A
and return the Secure Remote Password (SRP) protocol
* variables to be used for next challenge execution.
* ADMIN_USER_PASSWORD_AUTH
will take in USERNAME
and
* PASSWORD
and return the next challenge or tokens.
Valid values include:
USER_SRP_AUTH
:
* Authentication flow for the Secure Remote Password (SRP) protocol.
REFRESH_TOKEN_AUTH
/REFRESH_TOKEN
:
* Authentication flow for refreshing the access token and ID token by supplying a
* valid refresh token.
CUSTOM_AUTH
: Custom
* authentication flow.
ADMIN_NO_SRP_AUTH
: Non-SRP
* authentication flow; you can pass in the USERNAME and PASSWORD directly if the
* flow is enabled for calling the app client.
* ADMIN_USER_PASSWORD_AUTH
: Admin-based user password authentication.
* This replaces the ADMIN_NO_SRP_AUTH
authentication flow. In this
* flow, Amazon Cognito receives the password in the request instead of using the
* SRP process to verify passwords.
The authentication flow for this call to run. The API action will depend on * this value. For example:
REFRESH_TOKEN_AUTH
will
* take in a valid refresh token and return new tokens.
* USER_SRP_AUTH
will take in USERNAME
and
* SRP_A
and return the Secure Remote Password (SRP) protocol
* variables to be used for next challenge execution.
* ADMIN_USER_PASSWORD_AUTH
will take in USERNAME
and
* PASSWORD
and return the next challenge or tokens.
Valid values include:
USER_SRP_AUTH
:
* Authentication flow for the Secure Remote Password (SRP) protocol.
REFRESH_TOKEN_AUTH
/REFRESH_TOKEN
:
* Authentication flow for refreshing the access token and ID token by supplying a
* valid refresh token.
CUSTOM_AUTH
: Custom
* authentication flow.
ADMIN_NO_SRP_AUTH
: Non-SRP
* authentication flow; you can pass in the USERNAME and PASSWORD directly if the
* flow is enabled for calling the app client.
* ADMIN_USER_PASSWORD_AUTH
: Admin-based user password authentication.
* This replaces the ADMIN_NO_SRP_AUTH
authentication flow. In this
* flow, Amazon Cognito receives the password in the request instead of using the
* SRP process to verify passwords.
The authentication parameters. These are inputs corresponding to the
* AuthFlow
that you're invoking. The required values depend on the
* value of AuthFlow
:
For USER_SRP_AUTH
:
* USERNAME
(required), SRP_A
(required),
* SECRET_HASH
(required if the app client is configured with a client
* secret), DEVICE_KEY
.
For
* REFRESH_TOKEN_AUTH/REFRESH_TOKEN
: REFRESH_TOKEN
* (required), SECRET_HASH
(required if the app client is configured
* with a client secret), DEVICE_KEY
.
For
* ADMIN_NO_SRP_AUTH
: USERNAME
(required),
* SECRET_HASH
(if app client is configured with client secret),
* PASSWORD
(required), DEVICE_KEY
.
For
* CUSTOM_AUTH
: USERNAME
(required),
* SECRET_HASH
(if app client is configured with client secret),
* DEVICE_KEY
. To start the authentication flow with password
* verification, include ChallengeName: SRP_A
and SRP_A: (The
* SRP_A Value)
.
The authentication parameters. These are inputs corresponding to the
* AuthFlow
that you're invoking. The required values depend on the
* value of AuthFlow
:
For USER_SRP_AUTH
:
* USERNAME
(required), SRP_A
(required),
* SECRET_HASH
(required if the app client is configured with a client
* secret), DEVICE_KEY
.
For
* REFRESH_TOKEN_AUTH/REFRESH_TOKEN
: REFRESH_TOKEN
* (required), SECRET_HASH
(required if the app client is configured
* with a client secret), DEVICE_KEY
.
For
* ADMIN_NO_SRP_AUTH
: USERNAME
(required),
* SECRET_HASH
(if app client is configured with client secret),
* PASSWORD
(required), DEVICE_KEY
.
For
* CUSTOM_AUTH
: USERNAME
(required),
* SECRET_HASH
(if app client is configured with client secret),
* DEVICE_KEY
. To start the authentication flow with password
* verification, include ChallengeName: SRP_A
and SRP_A: (The
* SRP_A Value)
.
The authentication parameters. These are inputs corresponding to the
* AuthFlow
that you're invoking. The required values depend on the
* value of AuthFlow
:
For USER_SRP_AUTH
:
* USERNAME
(required), SRP_A
(required),
* SECRET_HASH
(required if the app client is configured with a client
* secret), DEVICE_KEY
.
For
* REFRESH_TOKEN_AUTH/REFRESH_TOKEN
: REFRESH_TOKEN
* (required), SECRET_HASH
(required if the app client is configured
* with a client secret), DEVICE_KEY
.
For
* ADMIN_NO_SRP_AUTH
: USERNAME
(required),
* SECRET_HASH
(if app client is configured with client secret),
* PASSWORD
(required), DEVICE_KEY
.
For
* CUSTOM_AUTH
: USERNAME
(required),
* SECRET_HASH
(if app client is configured with client secret),
* DEVICE_KEY
. To start the authentication flow with password
* verification, include ChallengeName: SRP_A
and SRP_A: (The
* SRP_A Value)
.
The authentication parameters. These are inputs corresponding to the
* AuthFlow
that you're invoking. The required values depend on the
* value of AuthFlow
:
For USER_SRP_AUTH
:
* USERNAME
(required), SRP_A
(required),
* SECRET_HASH
(required if the app client is configured with a client
* secret), DEVICE_KEY
.
For
* REFRESH_TOKEN_AUTH/REFRESH_TOKEN
: REFRESH_TOKEN
* (required), SECRET_HASH
(required if the app client is configured
* with a client secret), DEVICE_KEY
.
For
* ADMIN_NO_SRP_AUTH
: USERNAME
(required),
* SECRET_HASH
(if app client is configured with client secret),
* PASSWORD
(required), DEVICE_KEY
.
For
* CUSTOM_AUTH
: USERNAME
(required),
* SECRET_HASH
(if app client is configured with client secret),
* DEVICE_KEY
. To start the authentication flow with password
* verification, include ChallengeName: SRP_A
and SRP_A: (The
* SRP_A Value)
.
The authentication parameters. These are inputs corresponding to the
* AuthFlow
that you're invoking. The required values depend on the
* value of AuthFlow
:
For USER_SRP_AUTH
:
* USERNAME
(required), SRP_A
(required),
* SECRET_HASH
(required if the app client is configured with a client
* secret), DEVICE_KEY
.
For
* REFRESH_TOKEN_AUTH/REFRESH_TOKEN
: REFRESH_TOKEN
* (required), SECRET_HASH
(required if the app client is configured
* with a client secret), DEVICE_KEY
.
For
* ADMIN_NO_SRP_AUTH
: USERNAME
(required),
* SECRET_HASH
(if app client is configured with client secret),
* PASSWORD
(required), DEVICE_KEY
.
For
* CUSTOM_AUTH
: USERNAME
(required),
* SECRET_HASH
(if app client is configured with client secret),
* DEVICE_KEY
. To start the authentication flow with password
* verification, include ChallengeName: SRP_A
and SRP_A: (The
* SRP_A Value)
.
The authentication parameters. These are inputs corresponding to the
* AuthFlow
that you're invoking. The required values depend on the
* value of AuthFlow
:
For USER_SRP_AUTH
:
* USERNAME
(required), SRP_A
(required),
* SECRET_HASH
(required if the app client is configured with a client
* secret), DEVICE_KEY
.
For
* REFRESH_TOKEN_AUTH/REFRESH_TOKEN
: REFRESH_TOKEN
* (required), SECRET_HASH
(required if the app client is configured
* with a client secret), DEVICE_KEY
.
For
* ADMIN_NO_SRP_AUTH
: USERNAME
(required),
* SECRET_HASH
(if app client is configured with client secret),
* PASSWORD
(required), DEVICE_KEY
.
For
* CUSTOM_AUTH
: USERNAME
(required),
* SECRET_HASH
(if app client is configured with client secret),
* DEVICE_KEY
. To start the authentication flow with password
* verification, include ChallengeName: SRP_A
and SRP_A: (The
* SRP_A Value)
.
The authentication parameters. These are inputs corresponding to the
* AuthFlow
that you're invoking. The required values depend on the
* value of AuthFlow
:
For USER_SRP_AUTH
:
* USERNAME
(required), SRP_A
(required),
* SECRET_HASH
(required if the app client is configured with a client
* secret), DEVICE_KEY
.
For
* REFRESH_TOKEN_AUTH/REFRESH_TOKEN
: REFRESH_TOKEN
* (required), SECRET_HASH
(required if the app client is configured
* with a client secret), DEVICE_KEY
.
For
* ADMIN_NO_SRP_AUTH
: USERNAME
(required),
* SECRET_HASH
(if app client is configured with client secret),
* PASSWORD
(required), DEVICE_KEY
.
For
* CUSTOM_AUTH
: USERNAME
(required),
* SECRET_HASH
(if app client is configured with client secret),
* DEVICE_KEY
. To start the authentication flow with password
* verification, include ChallengeName: SRP_A
and SRP_A: (The
* SRP_A Value)
.
The authentication parameters. These are inputs corresponding to the
* AuthFlow
that you're invoking. The required values depend on the
* value of AuthFlow
:
For USER_SRP_AUTH
:
* USERNAME
(required), SRP_A
(required),
* SECRET_HASH
(required if the app client is configured with a client
* secret), DEVICE_KEY
.
For
* REFRESH_TOKEN_AUTH/REFRESH_TOKEN
: REFRESH_TOKEN
* (required), SECRET_HASH
(required if the app client is configured
* with a client secret), DEVICE_KEY
.
For
* ADMIN_NO_SRP_AUTH
: USERNAME
(required),
* SECRET_HASH
(if app client is configured with client secret),
* PASSWORD
(required), DEVICE_KEY
.
For
* CUSTOM_AUTH
: USERNAME
(required),
* SECRET_HASH
(if app client is configured with client secret),
* DEVICE_KEY
. To start the authentication flow with password
* verification, include ChallengeName: SRP_A
and SRP_A: (The
* SRP_A Value)
.
The authentication parameters. These are inputs corresponding to the
* AuthFlow
that you're invoking. The required values depend on the
* value of AuthFlow
:
For USER_SRP_AUTH
:
* USERNAME
(required), SRP_A
(required),
* SECRET_HASH
(required if the app client is configured with a client
* secret), DEVICE_KEY
.
For
* REFRESH_TOKEN_AUTH/REFRESH_TOKEN
: REFRESH_TOKEN
* (required), SECRET_HASH
(required if the app client is configured
* with a client secret), DEVICE_KEY
.
For
* ADMIN_NO_SRP_AUTH
: USERNAME
(required),
* SECRET_HASH
(if app client is configured with client secret),
* PASSWORD
(required), DEVICE_KEY
.
For
* CUSTOM_AUTH
: USERNAME
(required),
* SECRET_HASH
(if app client is configured with client secret),
* DEVICE_KEY
. To start the authentication flow with password
* verification, include ChallengeName: SRP_A
and SRP_A: (The
* SRP_A Value)
.
The authentication parameters. These are inputs corresponding to the
* AuthFlow
that you're invoking. The required values depend on the
* value of AuthFlow
:
For USER_SRP_AUTH
:
* USERNAME
(required), SRP_A
(required),
* SECRET_HASH
(required if the app client is configured with a client
* secret), DEVICE_KEY
.
For
* REFRESH_TOKEN_AUTH/REFRESH_TOKEN
: REFRESH_TOKEN
* (required), SECRET_HASH
(required if the app client is configured
* with a client secret), DEVICE_KEY
.
For
* ADMIN_NO_SRP_AUTH
: USERNAME
(required),
* SECRET_HASH
(if app client is configured with client secret),
* PASSWORD
(required), DEVICE_KEY
.
For
* CUSTOM_AUTH
: USERNAME
(required),
* SECRET_HASH
(if app client is configured with client secret),
* DEVICE_KEY
. To start the authentication flow with password
* verification, include ChallengeName: SRP_A
and SRP_A: (The
* SRP_A Value)
.
The authentication parameters. These are inputs corresponding to the
* AuthFlow
that you're invoking. The required values depend on the
* value of AuthFlow
:
For USER_SRP_AUTH
:
* USERNAME
(required), SRP_A
(required),
* SECRET_HASH
(required if the app client is configured with a client
* secret), DEVICE_KEY
.
For
* REFRESH_TOKEN_AUTH/REFRESH_TOKEN
: REFRESH_TOKEN
* (required), SECRET_HASH
(required if the app client is configured
* with a client secret), DEVICE_KEY
.
For
* ADMIN_NO_SRP_AUTH
: USERNAME
(required),
* SECRET_HASH
(if app client is configured with client secret),
* PASSWORD
(required), DEVICE_KEY
.
For
* CUSTOM_AUTH
: USERNAME
(required),
* SECRET_HASH
(if app client is configured with client secret),
* DEVICE_KEY
. To start the authentication flow with password
* verification, include ChallengeName: SRP_A
and SRP_A: (The
* SRP_A Value)
.
The authentication parameters. These are inputs corresponding to the
* AuthFlow
that you're invoking. The required values depend on the
* value of AuthFlow
:
For USER_SRP_AUTH
:
* USERNAME
(required), SRP_A
(required),
* SECRET_HASH
(required if the app client is configured with a client
* secret), DEVICE_KEY
.
For
* REFRESH_TOKEN_AUTH/REFRESH_TOKEN
: REFRESH_TOKEN
* (required), SECRET_HASH
(required if the app client is configured
* with a client secret), DEVICE_KEY
.
For
* ADMIN_NO_SRP_AUTH
: USERNAME
(required),
* SECRET_HASH
(if app client is configured with client secret),
* PASSWORD
(required), DEVICE_KEY
.
For
* CUSTOM_AUTH
: USERNAME
(required),
* SECRET_HASH
(if app client is configured with client secret),
* DEVICE_KEY
. To start the authentication flow with password
* verification, include ChallengeName: SRP_A
and SRP_A: (The
* SRP_A Value)
.
The authentication parameters. These are inputs corresponding to the
* AuthFlow
that you're invoking. The required values depend on the
* value of AuthFlow
:
For USER_SRP_AUTH
:
* USERNAME
(required), SRP_A
(required),
* SECRET_HASH
(required if the app client is configured with a client
* secret), DEVICE_KEY
.
For
* REFRESH_TOKEN_AUTH/REFRESH_TOKEN
: REFRESH_TOKEN
* (required), SECRET_HASH
(required if the app client is configured
* with a client secret), DEVICE_KEY
.
For
* ADMIN_NO_SRP_AUTH
: USERNAME
(required),
* SECRET_HASH
(if app client is configured with client secret),
* PASSWORD
(required), DEVICE_KEY
.
For
* CUSTOM_AUTH
: USERNAME
(required),
* SECRET_HASH
(if app client is configured with client secret),
* DEVICE_KEY
. To start the authentication flow with password
* verification, include ChallengeName: SRP_A
and SRP_A: (The
* SRP_A Value)
.
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 * AdminInitiateAuth 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:
Pre * signup
Pre authentication
User migration
*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 AdminInitiateAuth 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 * AdminInitiateAuth API action, Amazon Cognito also invokes the functions for the * following triggers, but it doesn't provide the ClientMetadata value as * input:
Post authentication
Custom message
*Pre token generation
Create auth challenge
*Define auth challenge
Verify auth challenge
*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.
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 * AdminInitiateAuth 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:
Pre * signup
Pre authentication
User migration
*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 AdminInitiateAuth 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 * AdminInitiateAuth API action, Amazon Cognito also invokes the functions for the * following triggers, but it doesn't provide the ClientMetadata value as * input:
Post authentication
Custom message
*Pre token generation
Create auth challenge
*Define auth challenge
Verify auth challenge
*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.
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 * AdminInitiateAuth 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:
Pre * signup
Pre authentication
User migration
*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 AdminInitiateAuth 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 * AdminInitiateAuth API action, Amazon Cognito also invokes the functions for the * following triggers, but it doesn't provide the ClientMetadata value as * input:
Post authentication
Custom message
*Pre token generation
Create auth challenge
*Define auth challenge
Verify auth challenge
*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.
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 * AdminInitiateAuth 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:
Pre * signup
Pre authentication
User migration
*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 AdminInitiateAuth 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 * AdminInitiateAuth API action, Amazon Cognito also invokes the functions for the * following triggers, but it doesn't provide the ClientMetadata value as * input:
Post authentication
Custom message
*Pre token generation
Create auth challenge
*Define auth challenge
Verify auth challenge
*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.
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 * AdminInitiateAuth 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:
Pre * signup
Pre authentication
User migration
*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 AdminInitiateAuth 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 * AdminInitiateAuth API action, Amazon Cognito also invokes the functions for the * following triggers, but it doesn't provide the ClientMetadata value as * input:
Post authentication
Custom message
*Pre token generation
Create auth challenge
*Define auth challenge
Verify auth challenge
*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.
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 * AdminInitiateAuth 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:
Pre * signup
Pre authentication
User migration
*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 AdminInitiateAuth 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 * AdminInitiateAuth API action, Amazon Cognito also invokes the functions for the * following triggers, but it doesn't provide the ClientMetadata value as * input:
Post authentication
Custom message
*Pre token generation
Create auth challenge
*Define auth challenge
Verify auth challenge
*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.
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 * AdminInitiateAuth 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:
Pre * signup
Pre authentication
User migration
*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 AdminInitiateAuth 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 * AdminInitiateAuth API action, Amazon Cognito also invokes the functions for the * following triggers, but it doesn't provide the ClientMetadata value as * input:
Post authentication
Custom message
*Pre token generation
Create auth challenge
*Define auth challenge
Verify auth challenge
*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.
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 * AdminInitiateAuth 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:
Pre * signup
Pre authentication
User migration
*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 AdminInitiateAuth 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 * AdminInitiateAuth API action, Amazon Cognito also invokes the functions for the * following triggers, but it doesn't provide the ClientMetadata value as * input:
Post authentication
Custom message
*Pre token generation
Create auth challenge
*Define auth challenge
Verify auth challenge
*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.
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 * AdminInitiateAuth 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:
Pre * signup
Pre authentication
User migration
*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 AdminInitiateAuth 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 * AdminInitiateAuth API action, Amazon Cognito also invokes the functions for the * following triggers, but it doesn't provide the ClientMetadata value as * input:
Post authentication
Custom message
*Pre token generation
Create auth challenge
*Define auth challenge
Verify auth challenge
*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.
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 * AdminInitiateAuth 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:
Pre * signup
Pre authentication
User migration
*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 AdminInitiateAuth 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 * AdminInitiateAuth API action, Amazon Cognito also invokes the functions for the * following triggers, but it doesn't provide the ClientMetadata value as * input:
Post authentication
Custom message
*Pre token generation
Create auth challenge
*Define auth challenge
Verify auth challenge
*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.
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 * AdminInitiateAuth 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:
Pre * signup
Pre authentication
User migration
*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 AdminInitiateAuth 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 * AdminInitiateAuth API action, Amazon Cognito also invokes the functions for the * following triggers, but it doesn't provide the ClientMetadata value as * input:
Post authentication
Custom message
*Pre token generation
Create auth challenge
*Define auth challenge
Verify auth challenge
*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.
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 * AdminInitiateAuth 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:
Pre * signup
Pre authentication
User migration
*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 AdminInitiateAuth 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 * AdminInitiateAuth API action, Amazon Cognito also invokes the functions for the * following triggers, but it doesn't provide the ClientMetadata value as * input:
Post authentication
Custom message
*Pre token generation
Create auth challenge
*Define auth challenge
Verify auth challenge
*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.
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 * AdminInitiateAuth 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:
Pre * signup
Pre authentication
User migration
*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 AdminInitiateAuth 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 * AdminInitiateAuth API action, Amazon Cognito also invokes the functions for the * following triggers, but it doesn't provide the ClientMetadata value as * input:
Post authentication
Custom message
*Pre token generation
Create auth challenge
*Define auth challenge
Verify auth challenge
*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.
The analytics metadata for collecting Amazon Pinpoint metrics for
* AdminInitiateAuth
calls.
The analytics metadata for collecting Amazon Pinpoint metrics for
* AdminInitiateAuth
calls.
The analytics metadata for collecting Amazon Pinpoint metrics for
* AdminInitiateAuth
calls.
The analytics metadata for collecting Amazon Pinpoint metrics for
* AdminInitiateAuth
calls.
The analytics metadata for collecting Amazon Pinpoint metrics for
* AdminInitiateAuth
calls.
The analytics metadata for collecting Amazon Pinpoint metrics for
* AdminInitiateAuth
calls.
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.
*/ inline const ContextDataType& GetContextData() const{ return m_contextData; } /** *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.
*/ inline bool ContextDataHasBeenSet() const { return m_contextDataHasBeenSet; } /** *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.
*/ inline void SetContextData(const ContextDataType& value) { m_contextDataHasBeenSet = true; m_contextData = value; } /** *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.
*/ inline void SetContextData(ContextDataType&& value) { m_contextDataHasBeenSet = true; m_contextData = std::move(value); } /** *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.
*/ inline AdminInitiateAuthRequest& WithContextData(const ContextDataType& value) { SetContextData(value); 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.
*/ inline AdminInitiateAuthRequest& WithContextData(ContextDataType&& value) { SetContextData(std::move(value)); return *this;} private: Aws::String m_userPoolId; bool m_userPoolIdHasBeenSet = false; Aws::String m_clientId; bool m_clientIdHasBeenSet = false; AuthFlowType m_authFlow; bool m_authFlowHasBeenSet = false; Aws::Map