/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Initiates the authentication request.See Also:
AWS
* API Reference
The authentication flow for this call to run. The API action will depend on * this value. For example:
REFRESH_TOKEN_AUTH takes
* in a valid refresh token and returns new tokens.
* USER_SRP_AUTH takes in USERNAME and SRP_A
* and returns the SRP variables to be used for next challenge execution.
USER_PASSWORD_AUTH takes in USERNAME and
* PASSWORD and returns 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.
USER_PASSWORD_AUTH: Non-SRP
* authentication flow; user name and password are passed directly. If a user
* migration Lambda trigger is set, this flow will invoke the user migration Lambda
* if it doesn't find the user name in the user pool.
* ADMIN_NO_SRP_AUTH isn't a valid value.
The authentication flow for this call to run. The API action will depend on * this value. For example:
REFRESH_TOKEN_AUTH takes
* in a valid refresh token and returns new tokens.
* USER_SRP_AUTH takes in USERNAME and SRP_A
* and returns the SRP variables to be used for next challenge execution.
USER_PASSWORD_AUTH takes in USERNAME and
* PASSWORD and returns 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.
USER_PASSWORD_AUTH: Non-SRP
* authentication flow; user name and password are passed directly. If a user
* migration Lambda trigger is set, this flow will invoke the user migration Lambda
* if it doesn't find the user name in the user pool.
* ADMIN_NO_SRP_AUTH isn't a valid value.
The authentication flow for this call to run. The API action will depend on * this value. For example:
REFRESH_TOKEN_AUTH takes
* in a valid refresh token and returns new tokens.
* USER_SRP_AUTH takes in USERNAME and SRP_A
* and returns the SRP variables to be used for next challenge execution.
USER_PASSWORD_AUTH takes in USERNAME and
* PASSWORD and returns 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.
USER_PASSWORD_AUTH: Non-SRP
* authentication flow; user name and password are passed directly. If a user
* migration Lambda trigger is set, this flow will invoke the user migration Lambda
* if it doesn't find the user name in the user pool.
* ADMIN_NO_SRP_AUTH isn't a valid value.
The authentication flow for this call to run. The API action will depend on * this value. For example:
REFRESH_TOKEN_AUTH takes
* in a valid refresh token and returns new tokens.
* USER_SRP_AUTH takes in USERNAME and SRP_A
* and returns the SRP variables to be used for next challenge execution.
USER_PASSWORD_AUTH takes in USERNAME and
* PASSWORD and returns 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.
USER_PASSWORD_AUTH: Non-SRP
* authentication flow; user name and password are passed directly. If a user
* migration Lambda trigger is set, this flow will invoke the user migration Lambda
* if it doesn't find the user name in the user pool.
* ADMIN_NO_SRP_AUTH isn't a valid value.
The authentication flow for this call to run. The API action will depend on * this value. For example:
REFRESH_TOKEN_AUTH takes
* in a valid refresh token and returns new tokens.
* USER_SRP_AUTH takes in USERNAME and SRP_A
* and returns the SRP variables to be used for next challenge execution.
USER_PASSWORD_AUTH takes in USERNAME and
* PASSWORD and returns 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.
USER_PASSWORD_AUTH: Non-SRP
* authentication flow; user name and password are passed directly. If a user
* migration Lambda trigger is set, this flow will invoke the user migration Lambda
* if it doesn't find the user name in the user pool.
* ADMIN_NO_SRP_AUTH isn't a valid value.
The authentication flow for this call to run. The API action will depend on * this value. For example:
REFRESH_TOKEN_AUTH takes
* in a valid refresh token and returns new tokens.
* USER_SRP_AUTH takes in USERNAME and SRP_A
* and returns the SRP variables to be used for next challenge execution.
USER_PASSWORD_AUTH takes in USERNAME and
* PASSWORD and returns 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.
USER_PASSWORD_AUTH: Non-SRP
* authentication flow; user name and password are passed directly. If a user
* migration Lambda trigger is set, this flow will invoke the user migration Lambda
* if it doesn't find the user name in the user pool.
* ADMIN_NO_SRP_AUTH isn't a valid 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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 * 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:
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 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:
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 * 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:
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 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:
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 * 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:
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 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:
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 * 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:
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 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:
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 * 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:
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 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:
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 * 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:
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 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:
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 * 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:
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 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:
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 * 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:
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 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:
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 * 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:
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 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:
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 * 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:
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 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:
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 * 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:
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 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:
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 * 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:
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 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:
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 * 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:
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 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:
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 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 InitiateAuthRequest& WithClientId(const Aws::String& value) { SetClientId(value); return *this;} /** *The app client ID.
*/ inline InitiateAuthRequest& WithClientId(Aws::String&& value) { SetClientId(std::move(value)); return *this;} /** *The app client ID.
*/ inline InitiateAuthRequest& WithClientId(const char* value) { SetClientId(value); return *this;} /** *The Amazon Pinpoint analytics metadata that contributes to your metrics for
* InitiateAuth calls.
The Amazon Pinpoint analytics metadata that contributes to your metrics for
* InitiateAuth calls.
The Amazon Pinpoint analytics metadata that contributes to your metrics for
* InitiateAuth calls.
The Amazon Pinpoint analytics metadata that contributes to your metrics for
* InitiateAuth calls.
The Amazon Pinpoint analytics metadata that contributes to your metrics for
* InitiateAuth calls.
The Amazon Pinpoint analytics metadata that contributes to your metrics for
* InitiateAuth 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 UserContextDataType& GetUserContextData() const{ return m_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.
*/ inline bool UserContextDataHasBeenSet() const { return m_userContextDataHasBeenSet; } /** *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 SetUserContextData(const UserContextDataType& value) { m_userContextDataHasBeenSet = true; m_userContextData = 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 SetUserContextData(UserContextDataType&& value) { m_userContextDataHasBeenSet = true; m_userContextData = 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 InitiateAuthRequest& WithUserContextData(const UserContextDataType& value) { SetUserContextData(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 InitiateAuthRequest& WithUserContextData(UserContextDataType&& value) { SetUserContextData(std::move(value)); return *this;} private: AuthFlowType m_authFlow; bool m_authFlowHasBeenSet = false; Aws::Map