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.
Déclencheur Lambda avant authentification
Amazon Cognito appelle ce déclencheur quand un utilisateur tente de se connecter, ce qui vous permet d'effectuer une validation personnalisée qui réalise des actions préparatoires. Par exemple, vous pouvez refuser la demande d'authentification ou enregistrer les données de session au niveau d'un système externe.
Note
Ce déclencheur Lambda ne s'active pas lorsqu'un utilisateur n'existe pas ou qu'il possède déjà une session dans votre groupe d'utilisateurs. Si le paramètre PreventUserExistenceErrors
d'un client d'application de groupe d'utilisateurs est défini sur ENABLED
, le déclencheur Lambda s'active.
Rubriques
Présentation du flux d'authentification
![Déclencheur Lambda Avant l'authentification – Flux client](images/lambda-pre-authentication-1.png)
La demande inclut les données de validation du client, provenant des valeurs ClientMetadata
que votre application transmet aux opérations d'API InitiateAuth
et AdminInitiateAuth
du groupe d'utilisateurs.
Pour de plus amples informations, veuillez consulter Flux d'authentification de groupe d'utilisateurs.
Paramètres du déclencheur Lambda avant l'authentification
La demande qu'Amazon Cognito transmet à cette fonction Lambda est une combinaison des paramètres ci-dessous et des paramètres courants qu'Amazon Cognito ajoute à toutes les demandes.
Paramètres de demande avant l'authentification
- userAttributes
-
Une ou plusieurs paires nom-valeur représentant les attributs utilisateur.
- userNotFound
-
Quand vous définissez
PreventUserExistenceErrors
surENABLED
pour votre client de groupe d'utilisateurs, Amazon Cognito renseigne ce booléen. - validationData
-
Une ou plusieurs paires clé-valeur contenant les données de validation dans la demande de connexion de l'utilisateur. Pour transmettre ces données à votre fonction Lambda, utilisez le paramètre ClientMetadata dans les actions d'API InitiateAuth et AdminInitiateAuth.
Paramètres de réponse avant l'authentification
Amazon Cognito n'attend aucune information de retour supplémentaire dans la réponse. Votre fonction peut renvoyer une erreur pour rejeter la tentative de connexion ou utiliser des opérations d'API pour interroger et modifier vos ressources.
Exemple de stade avant l'authentification
Cet exemple de fonction empêche les utilisateurs de se connecter à votre groupe d'utilisateurs avec un client d'application spécifique. Puisque la fonction Lambda avant l'authentification n'appelle pas lorsque votre utilisateur possède une session existante, elle empêche uniquement les nouvelles sessions avec l'ID client de l'application que vous souhaitez bloquer.
Amazon Cognito transmet les informations d'événement à votre fonction Lambda. Cette fonction renvoie alors le même objet d'événement à Amazon Cognito, avec d'éventuelles modifications dans la réponse. Dans la console Lambda, vous pouvez configurer un événement de test avec des données pertinentes pour votre déclencheur Lambda. Voici un événement de test pour cet exemple de code :