Lambda-Auslöser nach der Bestätigung - 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.

Lambda-Auslöser nach der Bestätigung

Amazon Cognito ruft diesen Trigger auf, nachdem ein angemeldeter Benutzer sein Benutzerkonto bestätigt hat. In Ihrer Lambda-Funktion nach der Bestätigung können Sie benutzerdefinierte Nachrichten senden oder benutzerdefinierte API-Anforderungen hinzufügen. Sie können beispielsweise ein externes System abfragen und dem Benutzer zusätzliche Attribute zuweisen. Amazon Cognito ruft diesen Trigger nur für Benutzer auf, die sich in Ihrem Benutzerpool anmelden, nicht für Benutzerkonten, die Sie mit Ihren Administrator-Anmeldeinformationen erstellen.

Die Anforderung enthält die aktuellen Attribute für den bestätigten Benutzer.

Lambda-Abläufe nach der Bestätigung

Ablauf der Bestätigung der Client-Registrierung

Ablauf der Bestätigung der Client-Registrierung

Ablauf der Bestätigung der Server-Registrierung

Bestätigung der Server-Registrierung

Ablauf der Bestätigung für vergessenes Passwort

Ablauf der Bestätigung für vergessenes Passwort

Lambda-Auslöserparameter nach der Bestätigung

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.

JSON
{ "request": { "userAttributes": { "string": "string", . . . }, "clientMetadata": { "string": "string", . . . } }, "response": {} }

Anforderungsparameter nach der Bestätigung

userAttributes

Ein oder mehrere Schlüssel-Wert-Paare, die Benutzerattribute darstellen.

clientMetadata

Ein oder mehrere Schlüssel-Wert-Paare, die Sie als benutzerdefinierte Eingabe für die Lambda-Funktion bereitstellen können, die Sie für den Auslöser nach der Bestätigung angeben. Sie können diese Daten an Ihre Lambda-Funktion übergeben, indem Sie den Parameter ClientMetadata in den folgenden API-Aktionen verwenden: AdminConfirmSignUp, ConfirmForgotPassword, ConfirmSignUp und SignUp.

Antwortparameter nach der Bestätigung

Erwartungsgemäß enthält die Antwort keine weiteren Informationen.

Tutorials für die Benutzerbestätigung

Die Lambda-Funktion für nach der Bestätigung wird ausgelöst, unmittelbar nachdem Amazon Cognito einen neuen Benutzer bestätigt. Weitere Informationen finden Sie in diesen Tutorials für die Benutzerbestätigung für JavaScript, Android und iOS.

Plattform Tutorial
JavaScript Identity SDK Benutzer mit JavaScript bestätigen
Android Identity SDK Benutzer mit Android bestätigen
iOS Identity SDK Benutzer mit iOS bestätigen

Beispiel für „Nachbestätigung“

Diese Lambda-Beispielfunktion sendet eine Bestätigungs-E-Mail-Nachricht an Ihre Benutzer unter Verwendung von Amazon SES. Weitere Informationen finden Sie im Entwicklerhandbuch für Amazon Simple Storage Service.

Node.js
// Import required AWS SDK clients and commands for Node.js. Note that this requires // the `@aws-sdk/client-ses` module to be either bundled with this code or included // as a Lambda layer. import { SES, SendEmailCommand } from "@aws-sdk/client-ses"; const ses = new SES(); const handler = async (event) => { if (event.request.userAttributes.email) { await sendTheEmail( event.request.userAttributes.email, `Congratulations ${event.userName}, you have been confirmed.` ); } return event; }; const sendTheEmail = async (to, body) => { const eParams = { Destination: { ToAddresses: [to], }, Message: { Body: { Text: { Data: body, }, }, Subject: { Data: "Cognito Identity Provider registration completed", }, }, // Replace source_email with your SES validated email address Source: "<source_email>", }; try { await ses.send(new SendEmailCommand(eParams)); } catch (err) { console.log(err); } }; export { handler };

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:

JSON
{ "request": { "userAttributes": { "email": "user@example.com", "email_verified": true } }, "response": {} }