Anpassen von Benutzerpool-Workflows mit Lambda-Auslösern - Amazon Cognito

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Anpassen von Benutzerpool-Workflows mit Lambda-Auslösern

Amazon Cognito nutzt AWS Lambda-Funktionen, um das Authentifizierungsverhalten Ihres Benutzerpools zu ändern. Sie können Ihren Benutzerpool so konfigurieren, dass Lambda-Funktionen vor der ersten Registrierung, nach Abschluss der Authentifizierung und in mehreren Phasen dazwischen automatisch aufgerufen werden. Ihre Funktionen können das Standardverhalten Ihres Authentifizierungsprozesses ändern, API-Anfragen zur Änderung Ihres Benutzerpools oder anderer AWS-Ressourcen stellen und mit externen Systemen kommunizieren. Der Code in Ihren Lambda-Funktionen ist Ihr eigener. Amazon Cognito sendet Ereignisdaten an Ihre Funktion, wartet, bis die Funktion die Daten verarbeitet, und erwartet in den meisten Fällen ein Antwortereignis, das alle Änderungen widerspiegelt, die Sie an der Sitzung vornehmen möchten.

Innerhalb des Systems mit Anfrage- und Antwortereignissen können Sie Ihre eigenen Authentifizierungs-Challenges hinzufügen, Benutzer zwischen Ihrem Benutzerpool und einem anderen Identitätsspeicher migrieren, Nachrichten anpassen und JSON-Webtoken (JWTs) ändern.

Lambda-Trigger können die Antwort anpassen, die Amazon Cognito an Ihren Benutzer sendet, nachdem er eine Aktion in Ihrem Benutzerpool ausgelöst hat. Sie können beispielsweise die Anmeldung eines Benutzers verhindern, der sich andernfalls erfolgreich anmelden könnte. Sie können auch Laufzeit-Operationen für Ihre AWS-Umgebung, externe APIs, Datenbanken oder Identitätsspeicher ausführen. Der Trigger „Benutzer migrieren“ kann beispielsweise eine externe Aktion mit einer Änderung in Amazon Cognito kombinieren: Sie können Benutzerinformationen in einem externen Verzeichnis nachschlagen und dann auf der Grundlage dieser externen Informationen Attribute für einen neuen Benutzer festlegen.

Wenn Sie Ihrem Benutzerpool einen Lambda-Trigger zugewiesen haben, unterbricht Amazon Cognito seinen Standardablauf, um Informationen von Ihrer Funktion anzufordern. Amazon Cognito generiert ein JSON--Ereignis und übergibt es an Ihre Funktion. Das Ereignis enthält Informationen über die Anfrage Ihres Benutzers, ein Benutzerkonto zu erstellen, sich anzumelden, ein Passwort zurückzusetzen oder ein Attribut zu aktualisieren. Ihre Funktion hat dann die Möglichkeit, Maßnahmen zu ergreifen oder das Ereignis unverändert zurückzusenden.

In der folgenden Tabelle sind einige der Möglichkeiten zusammengefasst, wie Sie Lambda-Auslöser verwenden können, um Benutzerpool-Operationen anzupassen:

Benutzerpool-Ablauf Operation Beschreibung

Benutzerdefinierter Authentifizierungsfluss

Authentifizierungsaufforderung definieren Bestimmt die nächste Aufforderung in einem benutzerdefinierten Authentifizierungsablauf
Authentifizierungsaufforderung erstellen Erstellt eine Aufforderung in einem benutzerdefinierten Authentifizierungsablauf
Antwort auf Authentifizierungsaufforderung überprüfen Bestimmt, ob eine Antwort in einem benutzerdefinierten Authentifizierungsablauf richtig ist
Authentifizierungsereignisse Lambda-Auslöser für die Vorab-Authentifizierung Benutzerdefinierte Validierung zur Akzeptierung oder Ablehnung einer Anmeldeanforderung
Lambda-Auslöser nach der Authentifizierung Protokolliert Ereignisse für benutzerdefinierte Analysen
Lambda-Auslöser für die Vorab-Generierung von Token Erhöht oder unterdrückt Token-Ansprüche
Registrieren Lambda-Auslöser für die Vorab-Registrierung Führt eine benutzerdefinierte Validierung durch, die die Anmeldeanforderung akzeptiert oder ablehnt
Lambda-Auslöser nach der Bestätigung Fügt benutzerdefinierte Begrüßungsnachrichten oder Ereignisprotokollierung für benutzerdefinierte Analysen hinzu
Lambda-Auslöser für die Benutzermigration. Migriert Benutzer aus einem vorhandenen Benutzerverzeichnis in Benutzerpools
Nachrichten Lambda-Auslöser für benutzerdefinierte Nachrichten Führt eine erweiterte Anpassung und Lokalisierung von Nachrichten durch
Erstellung von Tokens Lambda-Auslöser für die Vorab-Generierung von Token Fügt Attribute in ID-Token hinzu oder entfernt sie
Drittanbieter von E-Mails und SMS Benutzerdefinierter Lambda-Auslöser für Sender Sendet SMS- und E-Mail-Nachrichten mit einem Drittanbieter

Wichtige Überlegungen

Wenn Sie Ihre Benutzerpools für Lambda-Funktionen vorbereiten, sollten Sie Folgendes berücksichtigen:

  • Die Ereignisse, die Amazon Cognito an Ihre Lambda-Trigger sendet, können sich ändern, wenn neue Features hinzugefügt werden. Die Positionen der Antwort- und Anforderungselemente in der JSON-Hierarchie können sich ändern, oder es können weitere Elementnamen hinzugefügt werden. In Ihrer Lambda-Funktion können Sie erwarten, die in diesem Handbuch beschriebenen Schlüssel-Wert-Paare aus Eingabeelementen zu erhalten, jedoch kann eine strengere Eingabevalidierung dazu führen, dass Ihre Funktionen fehlschlagen.

  • Sie können eine aus mehreren Versionen der Ereignisse auswählen, die Amazon Cognito an verschiedene Trigger sendet. Bei einigen Versionen müssen Sie möglicherweise eine Änderung Ihrer Amazon-Cognito-Preisgestaltung akzeptieren. Weitere Informationen zu Preisen finden Sie unter Amazon-Cognito-Preise. Wenn Sie Zugriffs-Token in einem Lambda-Auslöser für die Vorab-Generierung von Token anpassen möchten, müssen Sie Ihren Benutzerpool mit erweiterten Sicherheitsfunktionen konfigurieren und Ihre Lambda-Trigger-Konfiguration so aktualisieren, dass die Ereignisversion 2 verwendet wird.

  • Mit Ausnahme von Benutzerdefinierter Lambda-Auslöser für Sender ruft Amazon Cognito Lambda-Funktionen synchron auf. Wenn Amazon Cognito Ihre Lambda-Funktion aufruft, muss sie innerhalb von 5 Sekunden reagieren. Wenn dies nicht der Fall ist und der Aufruf wiederholt werden kann, versucht Amazon Cognito den Aufruf erneut. Nach drei nicht erfolgreichen Versuchen erzeugt die Funktion ein Timeout. Sie können diesen Timeout-Wert von fünf Sekunden nicht ändern. Weitere Informationen finden Sie unter Lambda-Programmiermodell im Entwicklerhandbuch zu AWS Lambda.

    Amazon Cognito wiederholt keine Funktionsaufrufe, die einen Invoke-Fehler mit dem HTTP-Statuscode 500-599 zurückgeben. Diese Codes weisen auf ein Konfigurationsproblem hin, aufgrund dessen Lambda die Funktion nicht starten kann. Weitere Informationen finden Sie unter Fehlerbehandlung und automatische Wiederholungen in AWS Lambda.

  • Sie können in Ihrer Lambda-Trigger-Konfiguration keine Funktionsversion deklarieren. Amazon-Cognito-Benutzerpools rufen standardmäßig die neueste Version Ihrer Funktion auf. Sie können jedoch eine Funktionsversion mit einem Alias verknüpfen und Ihren Trigger LambdaArn in einer API-Anfrage CreateUserPool oder UpdateUserPool auf den Alias-ARN setzen. Diese Option ist in der AWS Management Console nicht verfügbar. Weitere Informationen zu Aliassen finden Sie unter Lambda-Funktionsaliase im Entwicklerhandbuch für AWS Lambda.

  • Wenn Sie einen Lambda-Auslöser löschen, müssen Sie den entsprechenden Auslöser im Benutzerpool aktualisieren. Wenn Sie zum Beispiel den Nachauthentifizierungs-Auslöser löschen, müssen Sie den Nachauthentifizierungs-Auslöser im entsprechenden Benutzerpool auf none (keine) setzen.

  • Wenn Ihre Lambda-Funktion die Anforderungs- und Antwortparameter nicht an Amazon Cognito zurückgibt oder einen Fehler ausgibt, ist das Authentifizierungsereignis nicht erfolgreich. Sie können einen Fehler in Ihrer Funktion zurückgeben, um die Registrierung, Authentifizierung, Token-Generierung oder jede andere Phase des Authentifizierungsablaufs eines Benutzers zu verhindern, die den Lambda-Trigger aufruft.

    Die von Amazon Cognito gehostete Benutzeroberfläche gibt Fehler, die von Lambda-Triggern generiert wurden, als Fehlertext oberhalb der Anmeldeaufforderung zurück. Die API von Amazon-Cognito-Benutzerpools gibt Trigger-Fehler im Format [trigger] failed with error [error text from response] zurück. Generieren Sie als bewährte Methode nur Fehler in Ihren Lambda-Funktionen, die Ihre Benutzer sehen sollen. Verwenden Sie Ausgabemethoden wie print(), um sensible oder Debugging-Informationen in CloudWatch Logs zu protokollieren. Ein Beispiel finden Sie unter Beispiel für die Vorab-Registrierung: Anmeldung ablehnen, wenn der Benutzername weniger als fünf Zeichen enthält.

  • Sie können eine Lambda-Funktion in einem anderen AWS-Konto als Auslöser für Ihren Benutzerpool hinzufügen. Sie müssen kontoübergreifende Auslöser mit den API-Operationen CreateUserPool und UpdateUserPool oder deren Entsprechungen in AWS CloudFormation und der AWS CLI hinzufügen. Sie können in der AWS Management Console keine kontoübergreifenden Funktionen hinzufügen.

  • Wenn Sie in der Amazon-Cognito-Konsole einen Lambda-Auslöser hinzufügen, fügt Amazon Cognito Ihrer Funktion eine ressourcenbasierte Richtlinie hinzu, die es Ihrem Benutzerpool ermöglicht, die Funktion aufzurufen. Wenn Sie einen Lambda-Auslöser außerhalb der Amazon-Cognito-Konsole erstellen, müssen Sie der ressourcenbasierten Richtlinie der Lambda-Funktion Berechtigungen hinzufügen. Wenn Sie Berechtigungen hinzugefügt haben, kann Amazon Cognito die Funktion im Namen Ihres Benutzerpools aufrufen. Sie können Berechtigungen von der Lambda-Konsole hinzufügen oder die Lambda-API-Funktion AddPermission verwenden.

    Beispiel für ressourcenbasierte Lambda-Richtlinie

    Die folgende ressourcenbasierte Lambda-Richtlinie gewährt Amazon Cognito eine eingeschränkte Möglichkeit, eine Lambda-Funktion aufzurufen. Amazon Cognito kann nur dann die Funktion verwenden, wenn es diese Funktion für den Benutzerpool in der aws:SourceArn-Bedingung als auch für das Konto in der aws:SourceAccount-Bedingung übernimmt.

    { "Version": "2012-10-17", "Id": "default", "Statement": [ { "Sid": "lambda-allow-cognito", "Effect": "Allow", "Principal": { "Service": "cognito-idp.amazonaws.com" }, "Action": "lambda:InvokeFunction", "Resource": "<your Lambda function ARN>", "Condition": { "StringEquals": { "AWS:SourceAccount": "<your account number>" }, "ArnLike": { "AWS:SourceArn": "<your user pool ARN>" } } } ] }

Hinzufügen eines Lambda-Auslösers für einen Benutzerpool

Hinzufügen eines Lambda-Auslösers für einen Benutzerpool mit der Konsole
  1. Erstellen Sie eine Lambda-Funktion mit der Lambda-Konsole. Weitere Informationen finden Sie unter Lambda-Funktionsfehler im AWS Lambda-Lambda-Entwicklerhandbuch.

  2. Navigieren Sie zur Amazon-Cognito-Konsole und wählen Sie User Pools (Benutzerpools) aus.

  3. Wählen Sie einen vorhandenen Benutzerpool aus der Liste aus oder erstellen Sie einen neuen Benutzerpool.

  4. Wählen Sie die Registerkarte User pool properties (Benutzerpool-Eigenschaften) und suchen Sie dort nach Lambda-Auslösern.

  5. Wählen Sie Add a Lambda trigger (Lambda-Auslöser hinzufügen) aus.

  6. Wählen Sie eine Kategorie für den Lambda-Auslöser basierend auf der Authentifizierungsphase aus, die Sie anpassen möchten.

  7. Wählen Sie Assign Lambda function (Lambda-Funktion zuweisen) und dann eine Funktion in der gleichen AWS-Region, in der sich auch Ihr Benutzerpool befindet, aus.

    Anmerkung

    Wenn Ihre AWS Identity and Access Management (IAM)-Anmeldeinformationen berechtigt sind, die Lambda-Funktion zu aktualisieren, fügt Amazon Cognito eine Ressourcenbasierte Lambda-Richtlinie hinzu. Mit dieser Richtlinie kann Amazon Cognito die von Ihnen ausgewählte Funktion aufrufen. Wenn die Anmeldeinformationen nicht über ausreichende IAM-Berechtigungen verfügen, müssen Sie die ressourcenbasierte Richtlinie separat aktualisieren. Weitere Informationen finden Sie unter Wichtige Überlegungen.

  8. Wählen Sie Änderungen speichern.

  9. Sie können Ihre Lambda-Funktion mit CloudWatch in der Lambda-Konsole protokollieren. Weitere Informationen finden Sie unter Zugriff auf CloudWatch Logs für Lambda.

Lambda-Auslöserereignis für einen Benutzerpool

Amazon Cognito übergibt Ereignisinformationen an Ihre Lambda-Funktion. Die Lambda-Funktion gibt dann das gleiche Ereignisobjekt mit allen Änderungen in der Antwort an Amazon Cognito zurück. Dieses Ereignis zeigt die allgemeinen Parameter für den Lambda-Auslöser:

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

Allgemeine Parameter von Lambda-Auslösern für Benutzerpools

Version

Die Versionsnummer der Lambda-Funktion.

triggerSource

Der Name des Ereignisses, das die Lambda-Funktion ausgelöst hat. Eine Beschreibung jeder triggerSource finden Sie unter Verbinden von Lambda-Triggern mit funktionalen Benutzerpool-Vorgängen.

region (Region)

AWS-Region als eine AWSRegion-Instance.

userPoolId

Die ID des Benutzerpools.

userName

Der Benutzername des aktuellen Benutzers.

callerContext

Metadaten über die Anfrage und die Codeumgebung. Diese enthalten die Felder awsSdkVersion und clientId.

awsSdkVersion

Die Version des AWS-SDK, das die Anfrage generiert hat.

clientId

Die Benutzerpool-App-Client-ID.

request

Details der API-Anfrage Ihres Benutzers. Diese enthalten die folgenden Felder und alle Anforderungsparameter, die für den Trigger spezifisch sind. Beispielsweise enthält ein Ereignis, das Amazon Cognito an einen Auslöser vor der Authentifizierung sendet, auch einen userNotFound-Parameter. Sie können den Wert dieses Parameters verarbeiten, um eine benutzerdefinierte Aktion auszuführen, wenn Ihr Benutzer versucht, sich mit einem nicht registrierten Benutzernamen anzumelden.

userAttributes

Ein oder mehrere Schlüssel-Wert-Paar(e) aus Benutzerattributnamen und -werten, beispielsweise "email": "john@example.com".

response

Dieser Parameter enthält keine Informationen in der ursprünglichen Anfrage. Ihre Lambda-Funktion muss das gesamte Ereignis an Amazon Cognito zurückgeben und der response alle Rückgabeparameter hinzufügen. Welche Rückgabeparameter Ihre Funktion enthalten kann, finden Sie in der Dokumentation des Triggers, den Sie verwenden möchten.

Verbinden von API-Operationen mit Lambda-Triggern

In den folgenden Abschnitten werden die Lambda-Trigger beschrieben, die Amazon Cognito anhand der Aktivität in Ihrem Benutzerpool aufruft.

Wenn Ihre App Benutzer über die Amazon-Cognito-Benutzerpool-API, die gehostete Benutzeroberfläche oder Benutzerpool-Endpunkte anmeldet, ruft Amazon Cognito Ihre Lambda-Funktionen auf der Grundlage des Sitzungskontexts auf. Weitere Informationen zur Amazon-Cognito-Benutzerpool-API und zu Benutzerpool-Endpunkten finden Sie unter Verwendung der Amazon-Cognito-Benutzerpool-API und der Benutzerpool-Endpunkte. In den Tabellen in den folgenden Abschnitten werden Ereignisse beschrieben, die Amazon Cognito veranlassen, eine Funktion aufzurufen, sowie die triggerSource-Zeichenfolge, die Amazon Cognito in die Anfrage einbezieht.

Lambda-Trigger in der Amazon-Cognito-API

In der folgenden Tabelle werden die Quellzeichenfolgen für die Lambda-Trigger beschrieben, die Amazon Cognito aufrufen kann, wenn Ihre App einen lokalen Benutzerpool-Benutzer erstellt, anmeldet oder aktualisiert.

Lokale Benutzer-Auslöser-Quellen in der Amazon-Cognito-API
API-Vorgang Lambda-Trigger Trigger-Quelle

AdminCreateUser

Voranmeldung

PreSignUp_AdminCreateUser

Generierung von Pre-Token

TokenGeneration_NewPasswordChallenge

Benutzerdefinierte Nachricht

CustomMessage_AdminCreateUser

Benutzerdefinierter E-Mail-Absender

CustomEmailSender_AdminCreateUser

Benutzerdefinierter SMS-Absender

CustomSMSSender_AdminCreateUser

SignUp

Voranmeldung

PreSignUp_SignUp

Benutzerdefinierte Nachricht

CustomMessage_SignUp

Benutzerdefinierter E-Mail-Absender

CustomEmailSender_SignUp

Benutzerdefinierter SMS-Absender

CustomSMSSender_SignUp

ConfirmSignUp

AdminConfirmSignUp

Nachbestätigung

PostConfirmation_ConfirmSignUp

InitiateAuth

AdminInitiateAuth

Vorauthentifizierung

PreAuthentication_Authentication

Authentifizierungsaufforderung definieren

DefineAuthChallenge_Authentication

Authentifizierungsaufforderung erstellen

CreateAuthChallenge_Authentication

Generierung von Pre-Token

TokenGeneration_Authentication

TokenGeneration_AuthenticateDevice

TokenGeneration_RefreshTokens

Benutzer migrieren

UserMigration_Authentication

Benutzerdefinierte Nachricht

CustomMessage_Authentication

Benutzerdefinierter E-Mail-Absender

CustomEmailSender_AccountTakeOverNotification

Benutzerdefinierter SMS-Absender

CustomSMSSender_Authentication

ForgotPassword

Benutzer migrieren

UserMigration_ForgotPassword

Benutzerdefinierte Nachricht

CustomMessage_ForgotPassword

Benutzerdefinierter E-Mail-Absender

CustomEmailSender_ForgotPassword

Benutzerdefinierter SMS-Absender

CustomSMSSender_ForgotPassword

ConfirmForgotPassword

Nachbestätigung

PostConfirmation_ConfirmForgotPassword

UpdateUserAttributes

AdminUpdateUserAttributes

Benutzerdefinierte Nachricht

CustomMessage_UpdateUserAttribute

Benutzerdefinierter E-Mail-Absender

CustomEmailSender_UpdateUserAttribute

Benutzerdefinierter SMS-Absender

CustomSMSSender_UpdateUserAttribute

VerifyUserAttributes

Benutzerdefinierte Nachricht

CustomMessage_VerifyUserAttribute

Benutzerdefinierter E-Mail-Absender

CustomEmailSender_VerifyUserAttribute

Benutzerdefinierter SMS-Absender

CustomSMSSender_VerifyUserAttribute

Lambda-Auslöser für lokale Amazon-Cognito-Benutzer in der gehosteten Benutzeroberfläche

In der folgenden Tabelle werden die Quellzeichenfolgen für die Lambda-Auslöser beschrieben, die Amazon Cognito aufrufen kann, wenn sich ein lokaler Benutzer mit der gehosteten Benutzeroberfläche bei Ihrem Benutzerpool anmeldet.

Auslöserquellen für lokale Benutzer in der gehosteten Benutzeroberfläche
Gehostete UI-URI Lambda-Trigger Trigger-Quelle
/signup Voranmeldung

PreSignUp_SignUp

Benutzerdefinierte Nachricht

CustomMessage_SignUp

Benutzerdefinierter E-Mail-Absender

CustomEmailSender_SignUp

Benutzerdefinierter SMS-Absender

CustomSMSSender_SignUp

/confirmuser Nachbestätigung

PostConfirmation_ConfirmSignUp

/login Vorauthentifizierung

PreAuthentication_Authentication

Authentifizierungsaufforderung definieren

DefineAuthChallenge_Authentication

Authentifizierungsaufforderung erstellen

CreateAuthChallenge_Authentication

Generierung von Pre-Token

TokenGeneration_Authentication

TokenGeneration_AuthenticateDevice

TokenGeneration_RefreshTokens

Benutzer migrieren

UserMigration_Authentication

Benutzerdefinierte Nachricht

CustomMessage_Authentication

Benutzerdefinierter E-Mail-Absender

CustomEmailSender_AccountTakeOverNotification

Benutzerdefinierter SMS-Absender

CustomSMSSender_Authentication

/forgotpassword Benutzer migrieren

UserMigration_ForgotPassword

Benutzerdefinierte Nachricht

CustomMessage_ForgotPassword

Benutzerdefinierter E-Mail-Absender

CustomEmailSender_ForgotPassword

Benutzerdefinierter SMS-Absender

CustomSMSSender_ForgotPassword

/confirmforgotpassword Nachbestätigung

PostConfirmation_ConfirmForgotPassword

Lambda-Auslöser für Verbundbenutzer

Sie können die folgenden Lambda-Auslöser verwenden, um Ihre Benutzerpool-Workflows für Benutzer anzupassen, die sich bei einem Verbundanbieter anmelden.

Anmerkung

Verbundbenutzer können die von Amazon Cognito gehostete Benutzeroberfläche verwenden, um sich anzumelden, oder Sie können eine Anfrage an den Autorisieren des Endpunkts generieren, der sie im Hintergrund auf die Anmeldeseite ihres Identitätsanbieters weiterleitet. Sie können mit der Amazon-Cognito-Benutzerpool-API keine Verbundbenutzer anmelden.

Verbundbenutzern-Trigger-Quellen
Anmeldeereignisse Lambda-Trigger Trigger-Quelle
Erste Anmeldung Voranmeldung

PreSignUp_ExternalProvider

Nachbestätigung

PostConfirmation_ConfirmSignUp

Generierung von Pre-Token

TokenGeneration_HostedAuth

Nachfolgende Anmeldungen Vorauthentifizierung

PreAuthentication_Authentication

Nachauthentifizierung

PostAuthentication_Authentication

Generierung von Pre-Token

TokenGeneration_HostedAuth

Die Verbundanmeldung ruft keine Lambda-Auslöser für benutzerdefinierte Authentifizierungsaufforderungen, Lambda-Auslöser für die Benutzermigration., Lambda-Auslöser für benutzerdefinierte Nachrichten oder Benutzerdefinierter Lambda-Auslöser für Sender in Ihrem Benutzerpool auf.

Verbinden von Lambda-Triggern mit funktionalen Benutzerpool-Vorgängen

Jeder Lambda-Trigger hat eine funktionale Rolle in Ihrem Benutzerpool. Ein Trigger kann beispielsweise Ihren Anmeldeablauf ändern oder eine benutzerdefinierte Authentifizierungsherausforderung hinzufügen. Das Ereignis, das Amazon Cognito an eine Lambda-Funktion sendet, kann eine von mehreren Aktionen widerspiegeln, aus denen sich diese funktionale Rolle zusammensetzt. Amazon Cognito ruft beispielsweise einen Trigger vor der Registrierung auf, wenn sich Ihr Benutzer anmeldet und wenn Sie einen Benutzer erstellen. Jeder dieser verschiedenen Fälle für dieselbe funktionale Rolle hat seinen eigenen triggerSource-Wert. Ihre Lambda-Funktion kann eingehende Ereignisse je nach dem Vorgang, der sie aufgerufen hat, unterschiedlich verarbeiten.

Amazon Cognito ruft auch alle zugewiesenen Funktionen auf, wenn ein Ereignis einer Trigger-Quelle entspricht. Wenn sich ein Benutzer beispielsweise bei einem Benutzerpool anmeldet, dem Sie die Trigger „Benutzer migrieren“ und „Vorauthentifizierung“ zugewiesen haben, werden beide aktiviert.

Registrierungs-, Bestätigungs- und Anmeldungsauslöser (Authentifizierungsauslöser)
Auslöser triggerSource-Wert Veranstaltung
Voranmeldung PreSignUp_SignUp Voranmeldung.
Voranmeldung PreSignUp_AdminCreateUser Voranmeldung, wenn ein Administrator einen neuen Benutzer erstellt.
Voranmeldung PreSignUp_ExternalProvider Vorab-Registrierung für externe Identitätsanbieter.
Nachbestätigung PostConfirmation_ConfirmSignUp Nachbestätigung der Anmeldung.
Nachbestätigung PostConfirmation_ConfirmForgotPassword Nachbestätigung für vergessenes Passwort.
Vorauthentifizierung PreAuthentication_Authentication Vorauthentifizierung.
Nachauthentifizierung PostAuthentication_Authentication Nachauthentifizierung.
Auslöser für benutzerdefinierte Authentifizierungsaufforderungen
Auslöser triggerSource-Wert Veranstaltung
Authentifizierungsaufforderung definieren DefineAuthChallenge_Authentication Authentifizierungsaufforderung definieren.
Authentifizierungsaufforderung erstellen CreateAuthChallenge_Authentication Authentifizierungsaufforderung erstellen.
Überprüfung der Authentifizierungsaufforderung VerifyAuthChallengeResponse_Authentication Antwort auf Authentifizierungsaufforderung überprüfen.
Auslöser für die Generierung von Pre-Token
Auslöser triggerSource-Wert Veranstaltung
Generierung von Pre-Token TokenGeneration_HostedAuth Amazon Cognito authentifiziert den Benutzer über die Anmeldeseite der gehosteten Benutzeroberfläche.
Generierung von Pre-Token TokenGeneration_Authentication Abläufe der Benutzerauthentifizierung sind abgeschlossen.
Generierung von Pre-Token TokenGeneration_NewPasswordChallenge Admin erstellt den Benutzer. Amazon Cognito ruft diesen Parameter auf, wenn der Benutzer ein temporäres Passwort ändern muss.
Generierung von Pre-Token TokenGeneration_AuthenticateDevice Ende der Authentifizierung eines Benutzergeräts.
Generierung von Pre-Token TokenGeneration_RefreshTokens Der Benutzer versucht, die Identitäts- und Zugriffs-Token zu aktualisieren.
Migration von Benutzerauslösern
Auslöser triggerSource-Wert Veranstaltung
Benutzermigration UserMigration_Authentication Benutzermigration zum Zeitpunkt der Anmeldung.
Benutzermigration UserMigration_ForgotPassword Benutzermigration während des Ablaufs bei vergessenem Passwort.
Auslöser für benutzerdefinierte Nachrichten
Auslöser triggerSource-Wert Veranstaltung
Benutzerdefinierte Nachricht CustomMessage_SignUp Benutzerdefinierte Nachricht, wenn sich ein Benutzer in Ihrem Benutzerpool anmeldet.
Benutzerdefinierte Nachricht CustomMessage_AdminCreateUser Benutzerdefinierte Nachricht, wenn Sie einen Benutzer als Administrator erstellen und Amazon Cognito ihm ein temporäres Passwort sendet.
Benutzerdefinierte Nachricht CustomMessage_ResendCode Benutzerdefinierte Nachricht, wenn Ihr vorhandener Benutzer einen neuen Bestätigungscode anfordert.
Benutzerdefinierte Nachricht CustomMessage_ForgotPassword Benutzerdefinierte Nachricht, wenn Ihr Benutzer sein Passwort zurücksetzen möchte.
Benutzerdefinierte Nachricht CustomMessage_UpdateUserAttribute Benutzerdefinierte Nachricht, wenn ein Benutzer seine E-Mail-Adresse oder Telefonnummer ändert und Amazon Cognito einen Verifizierungscode sendet.
Benutzerdefinierte Nachricht CustomMessage_VerifyUserAttribute Benutzerdefinierte Nachricht, wenn ein Benutzer eine E-Mail-Adresse oder Telefonnummer hinzufügt und Amazon Cognito einen Verifizierungscode sendet.
Benutzerdefinierte Nachricht CustomMessage_Authentication Benutzerdefinierte Nachricht, wenn sich ein Benutzer anmeldet, der SMS MFA konfiguriert hat.