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.
Lambda-Auslöser für die Vorab-Authentifizierung
Amazon Cognito ruft diesen Auslöser auf, wenn ein Benutzer sich anmelden möchte. Sie erhalten auf diese Weise die Möglichkeit, eine benutzerdefinierte Validierung zu erstellen, die vorbereitende Aktionen durchführt. Beispielsweise können Sie die Authentifizierungsanfrage ablehnen oder Sitzungsdaten für ein externes System aufzeichnen.
Anmerkung
Dieser Lambda-Trigger wird nicht aktiviert, wenn ein Benutzer nicht existiert oder bereits eine Sitzung in Ihrem Benutzerpool hat. Wenn die PreventUserExistenceErrors
-Einstellung eines Benutzerpool-App-Clients auf ENABLED
gesetzt ist, wird der Lambda-Trigger aktiviert.
Themen
Authentifizierungsprozess – Übersicht
![Lambda-Auslöser für die Vorab-Authentifizierung – Client-Ablauf](images/lambda-pre-authentication-1.png)
Die Anfrage enthält Validierungsdaten des Clients, die aus den ClientMetadata
-Werten stammen, die Ihre App an die Benutzerpool-API-Vorgänge InitiateAuth
und AdminInitiateAuth
übergibt.
Weitere Informationen finden Sie unter Ablauf der Authentifizierung in Benutzerpools.
Lambda-Auslöseparameter für die Vorab-Authentifizierung
Die Anforderung, die Amazon Cognito an diese Lambda-Funktion übergibt, ist eine Kombination der folgenden Parameter und der allgemeinen Parameter, die Amazon Cognito allen Anfragen hinzufügt.
Anforderungsparameter für die Vorab-Authentifizierung
- userAttributes
-
Ein oder mehrere Name-Wert-Paare, die Benutzerattribute darstellen.
- userNotFound
-
Amazon Cognito gibt diesen booleschen Wert ein, wenn Sie
PreventUserExistenceErrors
für Ihren Benutzerpool-Client aufENABLED
festgelegt haben. - validationData
-
Ein oder mehrere Schlüssel-Wert-Paare, die die Validierungsdaten in der Anmeldeanforderung des Benutzers enthalten. Um diese Daten an Ihre Lambda-Funktion zu übergeben, verwenden Sie den Parameter ClientMetadata in den API-Aktionen InitiateAuth und AdminInitiateAuth.
Antwortparameter für die Vorab-Authentifizierung
Amazon Cognito erwartet keine zusätzlichen Rückgabeinformationen in der Antwort. Ihre Funktion kann einen Fehler anzeigen, um den Anmeldeversuch abzulehnen oder API-Operationen zum Abfragen und Ändern Ihrer Ressourcen zu verwenden.
Beispiel für „Vorauthentifizierung“
Diese Beispielfunktion verhindert, dass sich Benutzer von einem bestimmten App-Client in Ihrem Benutzerpool anmelden. Da die Lambda-Funktion vor der Authentifizierung nicht aufgerufen wird, wenn Ihr Benutzer eine bestehende Sitzung hat, verhindert diese Funktion nur neue Sitzungen mit der App-Client-ID, die Sie blockieren möchten.
Amazon Cognito übergibt Ereignisinformationen an Ihre Lambda-Funktion. Die Funktion gibt dann das gleiche Ereignisobjekt mit allen Änderungen in der Antwort an Amazon Cognito zurück. Sie können in der Lambda-Konsole ein Testereignis mit den für Ihren Lambda-Auslöser relevanten Daten einrichten. Das Folgende ist ein Testereignis für dieses Codebeispiel: