

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Personnalisation des flux de travail de groupe d'utilisateurs avec des déclencheurs Lambda
<a name="cognito-user-pools-working-with-lambda-triggers"></a>

Amazon Cognito utilise des AWS Lambda fonctions permettant de modifier le comportement d'authentification de votre groupe d'utilisateurs. Vous pouvez configurer votre groupe d'utilisateurs pour qu'il invoque automatiquement les fonctions Lambda avant la première inscription, une fois l'authentification terminée, et à plusieurs étapes intermédiaires. Vos fonctions peuvent modifier le comportement par défaut de votre flux d'authentification, effectuer des demandes d'API pour modifier votre groupe d'utilisateurs ou d'autres AWS ressources, et communiquer avec des systèmes externes. Le code de vos fonctions Lambda vous appartient. Amazon Cognito envoie des données d'événement à votre fonction, attend que la fonction traite les données et, dans la plupart des cas, anticipe un événement de réponse qui reflète les modifications que vous souhaitez apporter à la session.

Dans le système des événements de demande et de réponse, vous pouvez introduire vos propres défis d'authentification, faire migrer les utilisateurs entre votre groupe d'utilisateurs et un autre magasin d'identités, personnaliser les messages et modifier les jetons Web JSON (JWTs).

Les déclencheurs Lambda peuvent personnaliser la réponse qu'Amazon Cognito fournit à l'utilisateur une fois qu'il a lancé une action dans votre groupe d'utilisateurs. Par exemple, vous pouvez empêcher la connexion d'un utilisateur qui réussirait autrement à se connecter. Ils peuvent également effectuer des opérations d'exécution sur votre AWS environnement, sur des applications externes APIs, sur des bases de données ou sur des banques d'identités. Le déclencheur de migration d'utilisateur, par exemple, peut associer une action externe à une modification dans Amazon Cognito : vous pouvez rechercher les informations utilisateur dans un annuaire externe, puis définir les attributs d'un nouvel utilisateur en fonction de ces informations externes.

Quand un déclencheur Lambda est attribué à votre groupe d'utilisateurs, Amazon Cognito interrompt son flux par défaut pour demander des informations à votre fonction. Amazon Cognito génère un *événement* JSON et le transmet à votre fonction. Cet événement contient des informations concernant la demande de votre utilisateur de créer un compte d'utilisateur, de se connecter, de réinitialiser un mot de passe ou de mettre à jour un attribut. Votre fonction a alors la possibilité d'agir ou de renvoyer l'événement sans le modifier. Un événement renvoyé sans modification indique à votre groupe d'utilisateurs de poursuivre l'action par défaut pour l'événement. Par exemple, votre déclencheur de pré-inscription peut automatiquement confirmer les utilisateurs pour la source du `PreSignUp_SignUp` déclencheur, mais renvoyer l'événement tel quel pour les utilisateurs externes et créés par l'administrateur.

Le tableau suivant résume certaines des façons dont vous pouvez utiliser les déclencheurs Lambda pour personnaliser les opérations de groupe d'utilisateurs :


****  


- ** **Flux d'authentification personnalisé** **
  - **Opération:** Définition de la stimulation d'authentification / **Description:** Détermine la question de sécurité (stimulation) dans un flux d'authentification personnalisé
  - **Opération:** Création d'une stimulation d'authentification / **Description:** Crée une question de sécurité (stimulation) dans un flux d'authentification personnalisé
  - **Opération:** Vérification de la réponse à la stimulation d'authentification / **Description:** Détermine si une réponse est correcte dans un flux d'authentification personnalisé

- ****Événements d'authentification****
  - **Opération:** [Déclencheur Lambda avant authentification](user-pool-lambda-pre-authentication.md) / **Description:** Validation personnalisée pour accepter ou refuser la demande de connexion
  - **Opération:** [Déclencheur Lambda après l'authentification](user-pool-lambda-post-authentication.md) / **Description:** Enregistre les événements pour une analytique personnalisée
  - **Opération:** [Déclencheur Lambda avant génération de jeton](user-pool-lambda-pre-token-generation.md) / **Description:** Augmente ou supprime les revendications de jeton

- ****Fédération****
  - **Opération:** [Déclencheur Lambda de fédération entrante](user-pool-lambda-inbound-federation.md)
  - **Description:** Transforme les attributs utilisateur fédérés avant leur création ou leur mise à jour dans les groupes d'utilisateurs Amazon Cognito

- ****Inscription****
  - **Opération:** [Déclencheur Lambda Avant l'inscription](user-pool-lambda-pre-sign-up.md) / **Description:** Effectue une validation personnalisée qui accepte ou refuse la demande d'inscription
  - **Opération:** [Déclencheur Lambda après confirmation.](user-pool-lambda-post-confirmation.md) / **Description:** Ajoute des messages personnalisés de bienvenue ou une journalisation des événements pour une analytique personnalisée
  - **Opération:** [Déclencheur Lambda de migration d'utilisateur](user-pool-lambda-migrate-user.md) / **Description:** Effectue la migration d'un utilisateur à partir d'un annuaire d'utilisateurs existant vers des groupes d'utilisateurs

- ****Messages****
  - **Opération:** [Déclencheur Lambda message personnalisé](user-pool-lambda-custom-message.md)
  - **Description:** Effectue une personnalisation et une localisation avancées de messages

- ****Création de jeton****
  - **Opération:** [Déclencheur Lambda avant génération de jeton](user-pool-lambda-pre-token-generation.md)
  - **Description:** Ajoute ou supprime des attributs dans les jetons d'identification et d'accès

- ****Fournisseurs tiers d'e-mails et de SMS****
  - **Opération:** [Déclencheurs Lambda Expéditeur personnalisé](user-pool-lambda-custom-sender-triggers.md)
  - **Description:** Utilise un fournisseur tiers pour envoyer des SMS et des e-mails



**Topics**
+ [Ce qu'il faut savoir sur les déclencheurs Lambda](#important-lambda-considerations)
+ [Ajouter un déclencheur Lambda à un groupe d'utilisateurs](#triggers-working-with-lambda)
+ [Événement déclencheur Lambda d'un groupe d'utilisateurs](#cognito-user-pools-lambda-trigger-event-parameter-shared)
+ [Paramètres communs des déclencheurs Lambda de groupe d'utilisateurs](#cognito-user-pools-lambda-trigger-syntax-shared)
+ [Métadonnées du client](#working-with-lambda-trigger-client-metadata)
+ [Connexion d'opérations d'API aux déclencheurs Lambda](#lambda-triggers-by-event)
+ [Connexion de déclencheurs Lambda aux opérations fonctionnelles du groupe d'utilisateurs](#working-with-lambda-trigger-sources)
+ [Déclencheur Lambda Avant l'inscription](user-pool-lambda-pre-sign-up.md)
+ [Déclencheur Lambda après confirmation.](user-pool-lambda-post-confirmation.md)
+ [Déclencheur Lambda avant authentification](user-pool-lambda-pre-authentication.md)
+ [Déclencheur Lambda après l'authentification](user-pool-lambda-post-authentication.md)
+ [Déclencheur Lambda de fédération entrante](user-pool-lambda-inbound-federation.md)
+ [Déclencheurs Lambda création d'une stimulation d'authentification personnalisée](user-pool-lambda-challenge.md)
+ [Déclencheur Lambda avant génération de jeton](user-pool-lambda-pre-token-generation.md)
+ [Déclencheur Lambda de migration d'utilisateur](user-pool-lambda-migrate-user.md)
+ [Déclencheur Lambda message personnalisé](user-pool-lambda-custom-message.md)
+ [Déclencheurs Lambda Expéditeur personnalisé](user-pool-lambda-custom-sender-triggers.md)

## Ce qu'il faut savoir sur les déclencheurs Lambda
<a name="important-lambda-considerations"></a>

Lorsque vous préparez vos groupes d'utilisateurs pour les fonctions Lambda, prenez en compte les éléments suivants :
+ Les événements qu'Amazon Cognito envoie aux déclencheurs Lambda peuvent changer en fonction des nouvelles fonctionnalités. Les positions des éléments de réponse et de demande dans la hiérarchie JSON peuvent changer, ou des noms d'éléments peuvent être ajoutés. Dans votre fonction Lambda, vous pouvez vous attendre à recevoir les paires clé-valeur d'entrée décrites dans ce guide, mais une validation d'entrée plus stricte peut entraîner l'échec de vos fonctions.
+ Vous pouvez choisir l'une des nombreuses versions des événements qu'Amazon Cognito envoie à certains déclencheurs. Certaines versions peuvent nécessiter que vous acceptiez une modification de la tarification d'Amazon Cognito. Pour de plus amples informations sur la tarification, consultez [Tarification d'Amazon Cognito](https://aws.amazon.com/cognito/pricing/). Pour personnaliser les jetons d'accès dans un[Déclencheur Lambda avant génération de jeton](user-pool-lambda-pre-token-generation.md), vous devez configurer votre groupe d'utilisateurs avec un plan de fonctionnalités autre que *Lite* et mettre à jour la configuration de votre déclencheur Lambda pour utiliser la version 2 de l'événement.
+ À l'exception des [Déclencheurs Lambda Expéditeur personnalisé](user-pool-lambda-custom-sender-triggers.md), Amazon Cognito appelle les fonctions Lambda de manière synchrone. Quand Amazon Cognito appelle votre fonction Lambda, elle doit répondre dans un délai de 5 secondes. Si ce n'est pas le cas et si l'appel peut être relancé, Amazon Cognito peut réessayer l'appel. Si toutes les tentatives échouent, la fonction expire. Vous ne pouvez pas modifier ce délai d'attente de cinq secondes. Pour plus d'informations, consultez le [modèle de programmation Lambda](https://docs.aws.amazon.com/lambda/latest/dg/foundation-progmodel.html) dans le Guide du AWS Lambda développeur.

  Amazon Cognito ne réessaie pas les appels de fonction qui renvoient une [erreur Invoke](https://docs.aws.amazon.com/lambda/latest/dg/API_Invoke.html#API_Invoke_Errors) avec un code d'état HTTP compris entre 500 et 599. Ces codes indiquent un problème de configuration qui empêche Lambda de lancer la fonction. Pour plus d'informations, consultez la section [Gestion des erreurs et tentatives automatiques](https://docs.aws.amazon.com/lambda/latest/dg/invocation-retries.html). AWS Lambda
+ Vous ne pouvez pas déclarer une version de fonction dans la configuration de votre déclencheur Lambda. Les groupes d'utilisateurs Amazon Cognito invoquent la dernière version de votre fonction par défaut. Cependant, vous pouvez associer une version de fonction à un alias et définir votre déclencheur sur `LambdaArn` l'alias ARN dans une demande d'[UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html)API [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html)ou d'API. Cette option n'est pas disponible dans la AWS Management Console. Pour plus d'informations sur l'utilisation des alias, consultez [Alias de fonction Lambda](https://docs.aws.amazon.com/lambda/latest/dg/configuration-aliases.html) dans le *Guide du développeur AWS Lambda *.
+ Si vous supprimez un déclencheur Lambda, vous devez mettre à jour le déclencheur correspondant dans le groupe d'utilisateurs. Par exemple, si vous supprimez le déclencheur d'authentification, vous devez définir le déclencheur **Post authentication (Après l'authentification)** dans le groupe d'utilisateurs correspondant sur **none**. 
+ Si votre fonction Lambda ne renvoie pas les paramètres de demande et de réponse à Amazon Cognito, ou renvoie une erreur, l'événement d'authentification échoue. Vous pouvez renvoyer une erreur dans votre fonction pour empêcher l'inscription d'un utilisateur, son authentification, la génération de jetons ou toute autre phase de son flux d'authentification qui invoque le déclencheur Lambda.

  La connexion gérée renvoie les erreurs générées par les déclencheurs Lambda sous forme de texte d'erreur au-dessus de l'invite de connexion. L'API des groupes d'utilisateurs Amazon Cognito renvoie les erreurs de déclenchement au format `{{[trigger]}} failed with error {{[error text from response]}}`. Conformément à la bonne pratique, générez uniquement les erreurs dans vos fonctions Lambda que vous voulez que les utilisateurs voient. Utilisez des méthodes de sortie telles que `print()` l'enregistrement de toute information sensible ou de débogage dans CloudWatch Logs. Pour obtenir un exemple, consultez [Exemple de pré-inscription : Refuser l'inscription si le nom d'utilisateur comporte moins de cinq caractères](user-pool-lambda-pre-sign-up.md#aws-lambda-triggers-pre-registration-example-3).
+ Vous pouvez ajouter une fonction Lambda dans une autre Compte AWS comme déclencheur pour votre groupe d'utilisateurs. Vous devez ajouter des déclencheurs entre comptes avec les opérations [UpdateUserPool](https://docs.aws.amazon.com/)d'API [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html)et, ou leurs équivalents, dans CloudFormation et le. AWS CLI Vous ne pouvez pas ajouter de fonctions multicomptes dans le AWS Management Console.
+ Lorsque vous ajoutez un déclencheur Lambda dans la console Amazon Cognito, Amazon Cognito ajoute une politique basée sur les ressources à votre fonction qui permet à votre groupe d'utilisateurs d'appeler la fonction. Lorsque vous créez un déclencheur Lambda en dehors de la console Amazon Cognito, y compris une fonction entre comptes, vous devez ajouter des autorisations à la politique basée sur les ressources de la fonction Lambda. Les autorisations que vous avez ajoutées doivent autoriser Amazon Cognito à appeler la fonction au nom de votre groupe d'utilisateurs. Vous pouvez [ajouter des autorisations depuis la console Lambda](https://docs.aws.amazon.com/lambda/latest/dg/access-control-resource-based.html) ou utiliser l'opération de l'API [AddPermission](https://docs.aws.amazon.com/lambda/latest/dg/API_AddPermission.html)Lambda.

**Exemple de politique basée sur les ressources Lambda**  
L'exemple suivant de politique basée sur les ressources Lambda accorde une capacité limitée à Amazon Cognito pour appeler une fonction Lambda. Amazon Cognito ne peut invoquer la fonction que lorsqu'elle le fait au nom du groupe d'utilisateurs dans le `aws:SourceArn` et le compte dans la Condition `aws:SourceAccount`.

------
#### [ JSON ]

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Id": "default",
      "Statement": [
          {
              "Sid": "LambdaCognitoIdpTrust",
              "Effect": "Allow",
              "Principal": {
                  "Service": "cognito-idp.amazonaws.com"
              },
              "Action": "lambda:InvokeFunction",
              "Resource": "arn:{{aws}}:lambda:{{us-east-1}}:{{111122223333}}:function:{{MyFunction}}",
              "Condition": {
                  "StringEquals": {
                      "AWS:SourceAccount": "{{111122223333}}"
                  },
                  "ArnLike": {
                      "AWS:SourceArn": "arn:{{aws}}:cognito-idp:{{us-east-1}}:{{111122223333}}:userpool/{{us-east-1_EXAMPLE}}"
                  }
              }
          }
      ]
  }
  ```

------

## Ajouter un déclencheur Lambda à un groupe d'utilisateurs
<a name="triggers-working-with-lambda"></a>

**Pour ajouter un déclencheur Lambda à un groupe d'utilisateurs à l'aide de la console**

1. Utilisez la [console Lambda](https://console.aws.amazon.com/lambda/home) pour créer une fonction Lambda. Pour plus d'informations sur les fonctions Lambda, consultez le [Guide du développeur AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/).

1. Accédez à la [console Amazon Cognito](https://console.aws.amazon.com/cognito/home), puis choisissez **User Pools** (Groupes d'utilisateurs).

1. Choisissez un groupe d’utilisateurs existant dans la liste ou [créez-en un](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-as-user-directory.html).

1. Choisissez le menu **Extensions** et localisez les déclencheurs **Lambda**.

1. Choisissez **Ajouter un déclencheur Lambda**.

1. Sélectionnez un déclencheur Lambda **Category** (Catégorie) en fonction de l'étape de l'authentification que vous souhaitez personnaliser.

1. Sélectionnez **Affecter une fonction Lambda** et sélectionnez une fonction identique à celle de votre Région AWS groupe d'utilisateurs.
**Note**  
Si vos informations d'identification Gestion des identités et des accès AWS (IAM) sont autorisées à mettre à jour la fonction Lambda, Amazon Cognito ajoute une politique basée sur les ressources Lambda. Avec cette politique, Amazon Cognito peut invoquer la fonction que vous sélectionnez. Si les informations d'identification connectées ne disposent pas d'autorisations IAM suffisantes, vous devez mettre à jour la politique basée sur les ressources séparément. Pour de plus amples informations, veuillez consulter [Ce qu'il faut savoir sur les déclencheurs Lambda](#important-lambda-considerations).

1. Sélectionnez **Save Changes (Enregistrer les modifications)**.

1. Vous pouvez l'utiliser CloudWatch dans la console Lambda pour enregistrer votre fonction Lambda. Pour plus d'informations, consultez la section [Accès aux CloudWatch journaux pour Lambda](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-functions-logs.html).

## Événement déclencheur Lambda d'un groupe d'utilisateurs
<a name="cognito-user-pools-lambda-trigger-event-parameter-shared"></a>

Amazon Cognito transmet les informations d’événement à votre fonction Lambda. La fonction Lambda renvoie à Amazon Cognito le même objet d'événement, avec des modifications dans la réponse. Si votre fonction renvoie l'événement d'entrée sans modification, Amazon Cognito applique le comportement par défaut. Vous trouverez ci-dessous les paramètres communs à tous les événements d'entrée du déclencheur Lambda. Pour connaître la syntaxe d'événement spécifique au déclencheur, consultez le schéma d'événement décrit dans la section de ce guide pour chaque déclencheur.

------
#### [ JSON ]

```
{
    "version": "{{string}}",
    "triggerSource": "{{string}}",
    "region": {{AWSRegion}},
    "userPoolId": "{{string}}",
    "userName": "{{string}}",
    "callerContext": 
        {
            "awsSdkVersion": "{{string}}",
            "clientId": "{{string}}"
        },
    "request":
        {
            "userAttributes": {
                "{{string}}": "{{string}}",
                ....
            }
        },
    "response": {}
}
```

------

## Paramètres communs des déclencheurs Lambda de groupe d'utilisateurs
<a name="cognito-user-pools-lambda-trigger-syntax-shared"></a>

**version**  
Numéro de version de votre fonction Lambda.

**triggerSource**  
Nom de l'événement qui a déclenché la fonction Lambda. Pour obtenir une description de chaque triggerSource, consultez [Connexion de déclencheurs Lambda aux opérations fonctionnelles du groupe d'utilisateurs](#working-with-lambda-trigger-sources).

**region**  
Le Région AWS en tant qu'`AWSRegion`instance.

**userPoolId**  
ID du groupe d'utilisateurs.

**userName**  
Nom d'utilisateur de l'utilisateur actuel.

**callerContext**  
Métadonnées relatives à la demande et à l'environnement de code. Il contient les champs **awsSdkVersion**et le **ClientiD.**    
**awsSdkVersion**  
Version du AWS SDK qui a généré la demande.  
****clientId****  
Identifiant du client d'application du groupe d'utilisateurs.

**de la demande**  
Détails de la demande d'API de l'utilisateur. Cela inclut les champs suivants, ainsi que tous les paramètres de demande spécifiques au déclencheur. Par exemple, un événement envoyé par Amazon Cognito à un déclencheur avant authentification contient également un paramètre `userNotFound`. Vous pouvez traiter la valeur de ce paramètre pour effectuer une action personnalisée lorsque votre utilisateur essaie de se connecter avec un nom d'utilisateur non enregistré.    
**userAttributes**  
Une ou plusieurs paires clé-valeur de noms et de valeurs d'attributs utilisateur, par exemple `"email": "john@example.com"`.

**response**  
Ce paramètre ne contient aucune information dans la demande d'origine. Votre fonction Lambda doit renvoyer l'intégralité de l'événement à Amazon Cognito et ajouter tous les paramètres de retour au paramètre `response`. Pour voir quels paramètres de retour votre fonction peut inclure, consultez la documentation du déclencheur que vous souhaitez utiliser.

## Métadonnées du client
<a name="working-with-lambda-trigger-client-metadata"></a>

Vous pouvez soumettre des paramètres personnalisés à vos fonctions de déclenchement Lambda dans les opérations et [Point de terminaison de jeton](token-endpoint.md) les demandes d'API. Grâce aux métadonnées du client, votre application peut collecter des informations supplémentaires sur l'environnement d'où proviennent les demandes. Lorsque vous transmettez les métadonnées du client à vos fonctions Lambda, celles-ci peuvent traiter les données supplémentaires et les utiliser pour la journalisation ou la personnalisation des flux d'authentification. Les métadonnées du client sont des paires de chaînes que vous avez choisies et conçues dans un format clé-valeur JSON.

**Exemples de cas d'utilisation des métadonnées client**
+ Transférez les données de géolocalisation lors de l'inscription au [déclencheur de pré-inscription](user-pool-lambda-pre-sign-up.md) et empêchez la connexion depuis des emplacements indésirables.
+ Transférez les données d'identification des locataires à des [déclencheurs de défis personnalisés](user-pool-lambda-challenge.md) et lancez différents défis aux clients de différentes unités commerciales.
+ Transmettez le jeton d'un utilisateur au [déclencheur de pré-génération du jeton](user-pool-lambda-pre-token-generation.md) et générez un journal du principal pour lequel une demande M2M a été faite. Pour obtenir un exemple de demande, consultez [Informations d'identification du client avec autorisation de baseInformations d'identification du client avec autorisation POST](token-endpoint.md#exchanging-client-credentials-for-an-access-token-in-request-body).

Voici un exemple de transmission des métadonnées du client au déclencheur de pré-inscription.

------
#### [ SignUp request ]

Voici un exemple de [SignUp](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_SignUp.html#CognitoUserPools-SignUp-request-ValidationData)demande contenant des métadonnées client qu'Amazon Cognito transmet à un déclencheur de pré-inscription.

```
POST HTTP/1.1
Host: cognito-idp.us-east-1.amazonaws.com
X-Amz-Date: 20230613T200059Z
Accept-Encoding: gzip, deflate, br
X-Amz-Target: AWSCognitoIdentityProviderService.SignUp
User-Agent: <UserAgentString>
Authorization: AWS4-HMAC-SHA256 Credential=<Credential>, SignedHeaders=<Headers>, Signature=<Signature>
Content-Length: <PayloadSizeBytes>

{
    "ClientId": "1example23456789",
    "Username": "mary_major",
    "Password": "<Password>",
    "SecretHash": "<Secret hash>",
    "ClientMetadata": { 
        "IpAddress" : "192.0.2.252",
        "GeoLocation" : "Netherlands (Kingdom of the) [NL]"
    }
    "UserAttributes": [
        {
            "Name": "name",
            "Value": "Mary"
        },
        {
            "Name": "email",
            "Value": "mary_major@example.com"
        },
        {
            "Name": "phone_number",
            "Value": "+12065551212"
        }
    ],
}
```

------
#### [ Lambda trigger input event ]

La demande génère le corps de demande suivant pour votre fonction de pré-inscription.

```
{
    "callerContext": {
        "awsSdkVersion": "aws-sdk-unknown-unknown",
        "clientId": "1example23456789"
    },
    "region": "us-west-2",
    "request": {
        "clientMetadata": {
            "GeoLocation": "Netherlands (Kingdom of the) [NL]",
            "IpAddress": "192.0.2.252"
        },
        "userAttributes": {
            "email": "mary_major@example.com",
            "name": "Mary",
            "phone_number": "+12065551212"
        },
        "validationData": null
    },
    "response": {
        "autoConfirmUser": false,
        "autoVerifyEmail": false,
        "autoVerifyPhone": false
    },
    "triggerSource": "PreSignUp_SignUp",
    "userName": "mary_major2",
    "userPoolId": "us-west-2_EXAMPLE",
    "version": "1"
}
```

------

**Métadonnées client pour les informations d' machine-to-machineidentification des clients (M2M)**  
Vous pouvez transmettre les [métadonnées du client dans les](#working-with-lambda-trigger-client-metadata) demandes M2M. Les métadonnées du client sont des informations supplémentaires provenant d'un utilisateur ou d'un environnement d'application qui peuvent contribuer aux résultats d'un[Déclencheur Lambda avant génération de jeton](user-pool-lambda-pre-token-generation.md). Lors des opérations d'authentification avec un utilisateur principal, vous pouvez transmettre les métadonnées du client au déclencheur de pré-génération du jeton dans le corps [AdminRespondToAuthChallenge](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminRespondToAuthChallenge.html)des demandes d'[RespondToAuthChallenge](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_RespondToAuthChallenge.html)API. Dans la mesure où les applications gèrent le flux de génération de jetons d'accès pour le M2M avec des demandes directes adressées au[Point de terminaison de jeton](token-endpoint.md), elles ont un modèle différent. Dans le corps POST des demandes de jetons pour les informations d'identification du client, transmettez un `aws_client_metadata` paramètre avec l'objet de métadonnées client encodé en URL (`x-www-form-urlencoded`) à une chaîne. Pour obtenir un exemple de demande, consultez [Informations d'identification du client avec autorisation de baseInformations d'identification du client avec autorisation POST](token-endpoint.md#exchanging-client-credentials-for-an-access-token-in-request-body). Voici un exemple de paramètre qui transmet les paires clé-valeur. `{"environment": "dev", "language": "en-US"}`

```
aws_client_metadata=%7B%22environment%22%3A%20%22dev%22,%20%22language%22%3A%20%22en-US%22%7D
```

**Attributs utilisateur temporaires : `validationData`**  
Certaines opérations d'authentification comportent également un `validationData` paramètre. Tout comme les métadonnées du client, il s'agit d'une opportunité de transmettre des informations externes qu'Amazon Cognito ne collecte pas automatiquement aux déclencheurs Lambda. Le champ de données de validation est destiné à fournir à votre fonction Lambda un contexte utilisateur supplémentaire lors des opérations d'inscription et de connexion. [SignUp](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_SignUp.html#CognitoUserPools-SignUp-request-ValidationData)et [AdminCreateUser](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminCreateUser.html#CognitoUserPools-AdminCreateUser-request-ValidationData)passez `validationData` au [déclencheur de pré-inscription](user-pool-lambda-pre-sign-up.md). [InitiateAuth](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_InitiateAuth.html#CognitoUserPools-InitiateAuth-request-ClientMetadata)et [AdminInitiateAuth](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminInitiateAuth.html#CognitoUserPools-AdminInitiateAuth-request-ClientMetadata)transmettez `ClientMetadata` le corps de la demande d'API tel que `validationData` dans l'événement d'entrée aux déclencheurs de [pré-authentification](user-pool-lambda-pre-authentication.md) et [migrez les utilisateurs](user-pool-lambda-migrate-user.md).

Pour associer les opérations d'API aux fonctions auxquelles elles peuvent transmettre les métadonnées du client, reportez-vous aux sections suivantes sur les sources de déclenchement.

## Connexion d'opérations d'API aux déclencheurs Lambda
<a name="lambda-triggers-by-event"></a>

Les sections suivantes décrivent les déclencheurs Lambda qu'Amazon Cognito invoque à partir de l'activité dans votre groupe d'utilisateurs.

Lorsque votre application connecte des utilisateurs via l'API des groupes d'utilisateurs Amazon Cognito, la connexion gérée ou les points de terminaison du groupe d'utilisateurs, Amazon Cognito invoque vos fonctions Lambda en fonction du contexte de session. Pour plus d'informations sur l'API des groupes d'utilisateurs Amazon Cognito et les points de terminaison du groupe d'utilisateurs, consultez [Comprendre l'API, l'OIDC et l'authentification par pages de connexion gérées](authentication-flows-public-server-side.md#user-pools-API-operations). Les tableaux des sections suivantes décrivent les événements qui amènent Amazon Cognito à invoquer une fonction, ainsi que la chaîne `triggerSource` qu'Amazon Cognito inclut dans la demande.

**Topics**
+ [Déclencheurs Lambda dans l'API Amazon Cognito](#lambda-triggers-native-users-native-api)
+ [Déclencheurs Lambda pour les utilisateurs locaux d'Amazon Cognito dans le cadre d'une connexion gérée](#lambda-triggers-native-users-hosted-UI)
+ [Déclencheurs Lambda pour utilisateurs fédérés](#lambda-triggers-for-federated-users)

### Déclencheurs Lambda dans l'API Amazon Cognito
<a name="lambda-triggers-native-users-native-api"></a>

Le tableau suivant décrit les chaînes sources des déclencheurs Lambda qu'Amazon Cognito peut invoquer quand votre application crée, connecte ou met à jour un utilisateur local.


**Sources des déclencheurs d'utilisateur local dans l'API Amazon Cognito**  


- ** [AdminCreateUser](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminCreateUser.html) **
  - **Déclencheur Lambda:** Pré-inscription / **Source du déclencheur:** `PreSignUp_AdminCreateUser`
  - **Déclencheur Lambda:** Génération préalable de jetons / **Source du déclencheur:** `TokenGeneration_NewPasswordChallenge`
  - **Déclencheur Lambda:** Message personnalisé / **Source du déclencheur:** `CustomMessage_AdminCreateUser`
  - **Déclencheur Lambda:** Expéditeur d'e-mail personnalisé / **Source du déclencheur:** `CustomEmailSender_AdminCreateUser`
  - **Déclencheur Lambda:** Expéditeur de SMS personnalisé / **Source du déclencheur:** `CustomSMSSender_AdminCreateUser`

- ** [SignUp](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_SignUp.html) **
  - **Déclencheur Lambda:** Pré-inscription / **Source du déclencheur:** `PreSignUp_SignUp`
  - **Déclencheur Lambda:** Message personnalisé / **Source du déclencheur:** `CustomMessage_SignUp`
  - **Déclencheur Lambda:** Expéditeur d'e-mail personnalisé / **Source du déclencheur:** `CustomEmailSender_SignUp`
  - **Déclencheur Lambda:** Expéditeur de SMS personnalisé / **Source du déclencheur:** `CustomSMSSender_SignUp`

- ** [ConfirmSignUp](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_ConfirmSignUp.html) [AdminConfirmSignUp](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminConfirmSignUp.html) **
  - **Déclencheur Lambda:** Confirmation de publication
  - **Source du déclencheur:** `PostConfirmation_ConfirmSignUp`

- ** [InitiateAuth](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_InitiateAuth.html) [AdminInitiateAuth](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminInitiateAuth.html) **
  - **Déclencheur Lambda:** Pré-authentification / **Source du déclencheur:** `PreAuthentication_Authentication`
  - **Déclencheur Lambda:** Authentification post-authentification / **Source du déclencheur:** `PostAuthentication_Authentication`
  - **Déclencheur Lambda:** Définir le défi d'authentification / **Source du déclencheur:** `DefineAuthChallenge_Authentication`
  - **Déclencheur Lambda:** Créer un défi d'authentification / **Source du déclencheur:** `CreateAuthChallenge_Authentication`
  - **Déclencheur Lambda:** Vérification de la stimulation d'authentification / **Source du déclencheur:** `VerifyAuthChallenge_Authentication`
  - **Déclencheur Lambda:** Génération préalable de jetons / **Source du déclencheur:** `TokenGeneration_Authentication`<br />`TokenGeneration_AuthenticateDevice`<br />`TokenGeneration_RefreshTokens`
  - **Déclencheur Lambda:** Migrer un utilisateur / **Source du déclencheur:** `UserMigration_Authentication`
  - **Déclencheur Lambda:** Message personnalisé / **Source du déclencheur:** `CustomMessage_Authentication`
  - **Déclencheur Lambda:** Expéditeur d'e-mail personnalisé / **Source du déclencheur:** `CustomEmailSender_AccountTakeOverNotification`<br />`CustomEmailSender_Authentication`
  - **Déclencheur Lambda:** Expéditeur de SMS personnalisé / **Source du déclencheur:** `CustomSMSSender_Authentication`

- ** [RespondToAuthChallenge](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_RespondToAuthChallenge.html) [AdminRespondToAuthChallenge](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminRespondToAuthChallenge.html) **
  - **Déclencheur Lambda:** Authentification post-authentification / **Source du déclencheur:** `PostAuthentication_Authentication`
  - **Déclencheur Lambda:** Définir le défi d'authentification / **Source du déclencheur:** `DefineAuthChallenge_Authentication`
  - **Déclencheur Lambda:** Créer un défi d'authentification / **Source du déclencheur:** `CreateAuthChallenge_Authentication`
  - **Déclencheur Lambda:** Vérification de la stimulation d'authentification / **Source du déclencheur:** `VerifyAuthChallenge_Authentication`
  - **Déclencheur Lambda:** Génération préalable de jetons / **Source du déclencheur:** `TokenGeneration_Authentication`<br />`TokenGeneration_AuthenticateDevice`<br />`TokenGeneration_RefreshTokens`
  - **Déclencheur Lambda:** Message personnalisé / **Source du déclencheur:** `CustomMessage_Authentication`
  - **Déclencheur Lambda:** Expéditeur d'e-mail personnalisé / **Source du déclencheur:** `CustomEmailSender_AccountTakeOverNotification`<br />`CustomEmailSender_Authentication`
  - **Déclencheur Lambda:** Expéditeur de SMS personnalisé / **Source du déclencheur:** `CustomSMSSender_Authentication`

- ** [ForgotPassword](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_ForgotPassword.html) **
  - **Déclencheur Lambda:** Migrer un utilisateur / **Source du déclencheur:** `UserMigration_ForgotPassword`
  - **Déclencheur Lambda:** Message personnalisé / **Source du déclencheur:** `CustomMessage_ForgotPassword`
  - **Déclencheur Lambda:** Expéditeur d'e-mail personnalisé / **Source du déclencheur:** `CustomEmailSender_ForgotPassword`
  - **Déclencheur Lambda:** Expéditeur de SMS personnalisé / **Source du déclencheur:** `CustomSMSSender_ForgotPassword`

- ** [ConfirmForgotPassword](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_ConfirmForgotPassword.html) **
  - **Déclencheur Lambda:** Confirmation de publication
  - **Source du déclencheur:** `PostConfirmation_ConfirmForgotPassword`

- ** [UpdateUserAttributes](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserAttributes.html) [AdminUpdateUserAttributes](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminUpdateUserAttributes.html) **
  - **Déclencheur Lambda:** Message personnalisé / **Source du déclencheur:** `CustomMessage_UpdateUserAttribute`
  - **Déclencheur Lambda:** Expéditeur d'e-mail personnalisé / **Source du déclencheur:** `CustomEmailSender_UpdateUserAttribute`
  - **Déclencheur Lambda:** Expéditeur de SMS personnalisé / **Source du déclencheur:** `CustomSMSSender_UpdateUserAttribute`

- ** [VerifyUserAttributes](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerifyUserAttributes.html) **
  - **Déclencheur Lambda:** Message personnalisé / **Source du déclencheur:** `CustomMessage_VerifyUserAttribute`
  - **Déclencheur Lambda:** Expéditeur d'e-mail personnalisé / **Source du déclencheur:** `CustomEmailSender_VerifyUserAttribute`
  - **Déclencheur Lambda:** Expéditeur de SMS personnalisé / **Source du déclencheur:** `CustomSMSSender_VerifyUserAttribute`

- ** [GetTokensFromRefreshToken](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_GetTokensFromRefreshToken.html) **
  - **Déclencheur Lambda:** Génération préalable de jetons
  - **Source du déclencheur:** `TokenGeneration_Authentication`



### Déclencheurs Lambda pour les utilisateurs locaux d'Amazon Cognito dans le cadre d'une connexion gérée
<a name="lambda-triggers-native-users-hosted-UI"></a>

Le tableau suivant décrit les chaînes source des déclencheurs Lambda qu'Amazon Cognito peut invoquer lorsqu'un utilisateur local se connecte à votre groupe d'utilisateurs avec une connexion gérée.


**Sources de déclenchement par l'utilisateur local dans la connexion gérée**  


- **`/signup`**
  - **Déclencheur Lambda:** Pré-inscription / **Source du déclencheur:** `PreSignUp_SignUp`
  - **Déclencheur Lambda:** Message personnalisé / **Source du déclencheur:** `CustomMessage_SignUp`
  - **Déclencheur Lambda:** Expéditeur d'e-mail personnalisé / **Source du déclencheur:** `CustomEmailSender_SignUp`
  - **Déclencheur Lambda:** Expéditeur de SMS personnalisé / **Source du déclencheur:** `CustomSMSSender_SignUp`

- **`/confirmuser`**
  - **Déclencheur Lambda:** Confirmation de publication
  - **Source du déclencheur:** `PostConfirmation_ConfirmSignUp`

- **`/login`**
  - **Déclencheur Lambda:** Pré-authentification / **Source du déclencheur:** `PreAuthentication_Authentication`
  - **Déclencheur Lambda:** Génération préalable de jetons / **Source du déclencheur:** `TokenGeneration_Authentication`<br />`TokenGeneration_AuthenticateDevice`<br />`TokenGeneration_RefreshTokens`
  - **Déclencheur Lambda:** Migrer un utilisateur / **Source du déclencheur:** `UserMigration_Authentication`
  - **Déclencheur Lambda:** Message personnalisé / **Source du déclencheur:** `CustomMessage_Authentication`
  - **Déclencheur Lambda:** Expéditeur d'e-mail personnalisé / **Source du déclencheur:** `CustomEmailSender_AccountTakeOverNotification`<br />`CustomEmailSender_Authentication`
  - **Déclencheur Lambda:** Expéditeur de SMS personnalisé / **Source du déclencheur:** `CustomSMSSender_Authentication`

- **`/forgotpassword`**
  - **Déclencheur Lambda:** Migrer un utilisateur / **Source du déclencheur:** `UserMigration_ForgotPassword`
  - **Déclencheur Lambda:** Message personnalisé / **Source du déclencheur:** `CustomMessage_ForgotPassword`
  - **Déclencheur Lambda:** Expéditeur d'e-mail personnalisé / **Source du déclencheur:** `CustomEmailSender_ForgotPassword`
  - **Déclencheur Lambda:** Expéditeur de SMS personnalisé / **Source du déclencheur:** `CustomSMSSender_ForgotPassword`

- **`/confirmforgotpassword`**
  - **Déclencheur Lambda:** Confirmation de publication
  - **Source du déclencheur:** `PostConfirmation_ConfirmForgotPassword`



### Déclencheurs Lambda pour utilisateurs fédérés
<a name="lambda-triggers-for-federated-users"></a>

Vous pouvez utiliser les déclencheurs Lambda suivants pour personnaliser les flux de travail de votre groupe d'utilisateurs pour les utilisateurs qui se connectent avec un fournisseur fédéré. 

**Note**  
Les utilisateurs fédérés peuvent utiliser la connexion gérée pour se connecter, ou vous pouvez générer une demande [Point de terminaison d’autorisation](authorization-endpoint.md) qui les redirige silencieusement vers la page de connexion de leur fournisseur d'identité. Vous ne pouvez pas connecter des utilisateurs fédérés avec l'API des groupes d'utilisateurs Amazon Cognito.


**Sources des déclencheurs d'utilisateurs fédérés**  


- **Première connexion**
  - **Déclencheur Lambda:** Pré-inscription / **Source du déclencheur:** `PreSignUp_ExternalProvider`
  - **Déclencheur Lambda:** Confirmation de publication / **Source du déclencheur:** `PostConfirmation_ConfirmSignUp`
  - **Déclencheur Lambda:** Génération préalable de jetons / **Source du déclencheur:** `TokenGeneration_HostedAuth`

- **Connexions suivantes**
  - **Déclencheur Lambda:** Pré-authentification / **Source du déclencheur:** `PreAuthentication_Authentication`
  - **Déclencheur Lambda:** Authentification post-authentification / **Source du déclencheur:** `PostAuthentication_Authentication`
  - **Déclencheur Lambda:** Génération préalable de jetons / **Source du déclencheur:** `TokenGeneration_HostedAuth`



La connexion fédérée n'appelle aucun [Déclencheurs Lambda création d'une stimulation d'authentification personnalisée](user-pool-lambda-challenge.md), [Déclencheur Lambda de migration d'utilisateur](user-pool-lambda-migrate-user.md), [Déclencheur Lambda message personnalisé](user-pool-lambda-custom-message.md) ou [Déclencheurs Lambda Expéditeur personnalisé](user-pool-lambda-custom-sender-triggers.md) dans votre groupe d'utilisateurs.

## Connexion de déclencheurs Lambda aux opérations fonctionnelles du groupe d'utilisateurs
<a name="working-with-lambda-trigger-sources"></a>

Chaque déclencheur Lambda joue un rôle fonctionnel dans votre groupe d'utilisateurs. Par exemple, un déclencheur peut modifier votre flux d'inscription ou ajouter une stimulation d'authentification personnalisée. L'événement qu'Amazon Cognito envoie à une fonction Lambda peut refléter l'une des actions qui constituent ce rôle fonctionnel. Par exemple, Amazon Cognito invoque un déclencheur avant inscription lorsque votre utilisateur s'inscrit et quand vous créez un utilisateur. Chacun de ces différents cas pour le même rôle fonctionnel a sa propre valeur `triggerSource`. Votre fonction Lambda peut traiter les événements entrants différemment en fonction de l'opération qui l'a invoquée.

Amazon Cognito invoque également toutes les fonctions affectées quand un événement correspond à une source de déclencheur. Par exemple, quand un utilisateur se connecte à un groupe d'utilisateurs dans lequel vous avez attribué des déclencheurs de migration d'utilisateur et avant authentification, il active les deux.


**Déclencheurs d'inscription, de confirmation et de connexion (authentification)**  

| Déclencheur | Valeur triggerSource | Événement | 
| --- | --- | --- | 
| Pré-inscription | PreSignUp\_SignUp | Avant l'inscription. | 
| Pré-inscription | PreSignUp\_AdminCreateUser | Pré-inscription quand un administrateur crée un nouvel utilisateur. | 
| Pré-inscription | PreSignUp\_ExternalProvider | Avant l'inscription pour les fournisseurs d'identité externes. | 
| Confirmation de publication | PostConfirmation\_ConfirmSignUp | Confirmation après l'inscription. | 
| Confirmation de publication | PostConfirmation\_ConfirmForgotPassword | Confirmation après l'oubli de mot de passe de confirmation. | 
| Pré-authentification | PreAuthentication\_Authentication | Avant l'authentification. | 
| Authentification post-authentification | PostAuthentication\_Authentication | Après l'authentification. | 


**Déclencheurs de stimulation d'authentification personnalisés**  

| Déclencheur | Valeur triggerSource | Événement | 
| --- | --- | --- | 
| Définir le défi d'authentification | DefineAuthChallenge\_Authentication | Définition de la stimulation d'authentification. | 
| Créer un défi d'authentification | CreateAuthChallenge\_Authentication | Création d'une stimulation d'authentification. | 
| Vérification de la stimulation d'authentification | VerifyAuthChallengeResponse\_Authentication | Vérification de la réponse à la stimulation d'authentification. | 


**Déclencheurs fédéraux**  

| Déclencheur | Valeur triggerSource | Événement | 
| --- | --- | --- | 
| Fédération entrante | InboundFederation\_ExternalProvider | Fédération entrante. | 


**Déclencheurs avant génération de jeton**  

| Déclencheur | Valeur triggerSource | Événement | 
| --- | --- | --- | 
| Génération préalable de jetons | TokenGeneration\_HostedAuth |  Amazon Cognito authentifie l'utilisateur depuis votre page de connexion gérée. | 
| Génération préalable de jetons | TokenGeneration\_Authentication | L'authentification de l'utilisateur ou l'actualisation du jeton sont terminées. | 
| Génération préalable de jetons | TokenGeneration\_NewPasswordChallenge | L'administrateur crée l'utilisateur. Amazon Cognito appelle cela quand l'utilisateur doit modifier un mot de passe temporaire. | 
| Génération préalable de jetons | TokenGeneration\_AuthenticateDevice | Fin de l'authentification d'un appareil utilisateur. | 
| Génération préalable de jetons | TokenGeneration\_RefreshTokens | L'utilisateur tente d'actualiser les jetons d'identité et d'accès. | 


**Déclencheur de migration d'utilisateur**  

| Déclencheur | Valeur triggerSource | Événement | 
| --- | --- | --- | 
| Migration d'utilisateur | UserMigration\_Authentication | Migration de l'utilisateur au moment de la connexion. | 
| Migration d'utilisateur | UserMigration\_ForgotPassword | Migration de l'utilisateur dans le cadre du flux de mot de passe oublié. | 


**Déclencheurs de message personnalisé**  

| Déclencheur | Valeur triggerSource | Événement | 
| --- | --- | --- | 
| Message personnalisé | CustomMessage\_SignUp | Message personnalisé lorsqu'un utilisateur s'inscrit dans votre groupe d'utilisateurs. | 
| Message personnalisé | CustomMessage\_AdminCreateUser | Message personnalisé lorsque vous créez un utilisateur en tant qu'administrateur et qu'Amazon Cognito lui envoie un mot de passe temporaire. | 
| Message personnalisé | CustomMessage\_ResendCode | Message personnalisé lorsque l'utilisateur existant demande un nouveau code de confirmation. | 
| Message personnalisé | CustomMessage\_ForgotPassword | Message personnalisé lorsque l'utilisateur demande la réinitialisation d'un mot de passe. | 
| Message personnalisé | CustomMessage\_UpdateUserAttribute | Message personnalisé lorsqu'un utilisateur change son adresse e-mail ou son numéro de téléphone et qu'Amazon Cognito envoie un code de vérification. | 
| Message personnalisé | CustomMessage\_VerifyUserAttribute | Message personnalisé lorsqu'un utilisateur ajoute une adresse e-mail ou un numéro de téléphone et qu'Amazon Cognito envoie un code de vérification. | 
| Message personnalisé | CustomMessage\_Authentication | Message personnalisé lorsqu'un utilisateur ayant configuré l'authentification MFA basée sur SMS se connecte. | 


**Déclencheurs d'expéditeur personnalisés**  

| Déclencheur | Valeur triggerSource | Événement | 
| --- | --- | --- | 
| Expéditeur personnalisé | `CustomEmailSender_SignUp`<br />`CustomSmsSender_SignUp` | Lorsqu'un utilisateur s'inscrit dans votre groupe d'utilisateurs. | 
| Expéditeur personnalisé | `CustomEmailSender_AdminCreateUser`<br />`CustomSmsSender_AdminCreateUser` | Lorsque vous créez un utilisateur en tant qu'administrateur et qu'Amazon Cognito lui envoie un mot de passe temporaire. | 
| Expéditeur personnalisé | `CustomEmailSender_ForgotPassword`<br />`CustomSmsSender_ForgotPassword` | Lorsque votre utilisateur demande la réinitialisation de son mot de passe. | 
| Expéditeur personnalisé | `CustomEmailSender_UpdateUserAttribute`<br />`CustomSmsSender_UpdateUserAttribute` | Lorsqu'un utilisateur change d'adresse e-mail ou de numéro de téléphone et qu'Amazon Cognito envoie un code de vérification. | 
| Expéditeur personnalisé | `CustomEmailSender_VerifyUserAttribute`<br />`CustomSmsSender_VerifyUserAttribute` | Lorsqu'un utilisateur ajoute une adresse e-mail ou un numéro de téléphone et qu'Amazon Cognito envoie un code de vérification. | 
| Expéditeur personnalisé | `CustomEmailSender_Authentication`<br />`CustomSmsSender_Authentication` | Lorsqu'un utilisateur qui a configuré le MFA ou l'OTP par SMS ou e-mail se connecte. | 
| Expéditeur personnalisé | CustomEmailSender\_AccountTakeOverNotification | Lorsque vos paramètres de protection contre les menaces prennent une action automatique contre la tentative de connexion d'un utilisateur et que l'action correspondant au niveau de risque inclut une notification. | 