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 Verifizierung der Antwort auf eine Authentifizierungsaufforderung
![Lambda-Auslöser für Aufforderungen](images/lambda-challenges3.png)
- Antwort auf Authentifizierungsaufforderung überprüfen
-
Amazon Cognito ruft diesen Auslöser auf, um zu überprüfen, ob die Antwort des Benutzers auf eine benutzerdefinierte Authentifizierungsaufforderung gültig ist. Es ist Teil eines benutzerdefinierten Authentifizierungsablaufs für einen Benutzerpool.
Die Anforderung für diesen Auslöser enthält die Parameter privateChallengeParameters
und challengeAnswer
. Die privateChallengeParameters
-Werte werden vom Lambda-Auslöser „Authentifizierungsaufforderung erstellen“ zurückgegeben und enthalten die erwartete Antwort vom Benutzer. Der Parameter challengeAnswer
enthält die Benutzerantwort auf die Aufforderung.
Die Antwort enthält das answerCorrect
-Attribut. Wenn der Benutzer die Herausforderung erfolgreich abgeschlossen hat, legt Amazon Cognito den Attributwert auf true
fest. Wenn der Benutzer die Herausforderung nicht erfolgreich abgeschlossen hat, legt Amazon Cognito den Wert auf false
fest.
Die Aufforderungsschleife wird so lange ausgeführt, bis die Benutzer alle Aufforderungen beantwortet hat.
Themen
Lambda-Auslöserparameter für die Überprüfung einer Authentifizierungsaufforderung
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 Verifizierung einer Authentifizierungsaufforderung
- userAttributes
-
Dieser Parameter enthält ein oder mehrere Name-Wert-Paare, die Benutzerattribute darstellen.
- userNotFound
-
Amazon Cognito gibt diesen booleschen Wert ein, wenn Amazon Cognito
PreventUserExistenceErrors
für Ihren Benutzerpool-Client aufENABLED
festgelegt hat. - privateChallengeParameters
-
Dieser Parameter stammt aus dem Trigger „Authentifizierungsaufforderung erstellen“. Um festzustellen, ob der Benutzer eine Aufforderung erfüllt hat, vergleicht Amazon Cognito die Parameter mit der challengeAnswer eines Benutzers.
Dieser Parameter sollte alle erforderlichen Informationen enthalten, um die Antwort des Benutzerstauf die Aufforderung zu validieren. Diese Informationen beinhalten die Frage, die Amazon Cognito dem Benutzer stellt (
publicChallengeParameters
), sowie die gültigen Antworten auf die Frage (privateChallengeParameters
). Dieser Parameter wird nur vom Lambda-Auslöser „Antwort auf Authentifizierungsaufforderung überprüfen“ verwendet. - challengeAnswer
-
Dieser Parameterwert ist die Antwort des Benutzers auf die Aufforderung.
- clientMetadata
-
Dieser Parameter enthält ein oder mehrere Schlüssel-Wert-Paare, die Sie als benutzerdefinierte Eingabe für die Lambda-Funktion für den Auslöser zur Überprüfung der Authentifizierungsaufforderung bereitstellen können. Verwenden Sie den ClientMetadata-Parameter in den API-Vorgängen AdminRespondToAuthChallenge und RespondToAuthChallenge, um diese Daten an Ihre Lambda-Funktion zu übergeben. Amazon Cognito enthält keine Daten aus dem ClientMetadata-Parameter in AdminInitiateAuth und InitiateAuth-API-Operationen in der Anforderung, die es an die Funktion zur Überprüfung der Authentifizierungsaufforderung übergibt.
Antwortparameter für die Verifizierung der Authentifizierungsaufforderung
- answerCorrect
-
Wenn der Benutzer die Aufforderung erfolgreich abschließt, legt Amazon Cognito diesen Parameter auf
true
fest. Wenn der Benutzer die Aufforderung nicht erfolgreich abschließt, legt Amazon Cognito den Parameter auffalse
fest.
Beispiel für „Antwort auf Authentifizierungsaufforderung überprüfen“
In diesem Beispiel prüft die Lambda-Funktion, ob die Benutzerantwort auf eine Aufforderung mit der erwarteten Antwort übereinstimmt. Amazon Cognito setzt den Parameter answerCorrect
auf true
, wenn die Benutzerantwort mit der erwarteten Antwort übereinstimmt.