Amazon Cognito
開発者ガイド

確認後 Lambda トリガー

Amazon Cognito は、新しいユーザーの確認後に、このトリガーを呼び出します。これにより、カスタムメッセージを送信したり、カスタムロジックを追加したりできます。たとえば、このトリガーを使用して新しいユーザーデータを収集できます。

リクエストには、確認されたユーザーの現在の属性が含まれています。

確認後 Lambda フロー

クライアントの確認サインアップフロー

クライアントの確認サインアップフロー

サーバーの確認サインアップフロー

サーバーの確認サインアップ

パスワードを忘れた場合のフローの確認

パスワードを忘れた場合のフローの確認

確認後 Lambda トリガーパラメータ

これらは、共通パラメータに加えてこの Lambda 関数に必要なパラメータです。

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

確認後リクエストのパラメータ

userAttributes

ユーザー属性を表す 1 つ以上の名前 - 値ペア。

確認後レスポンスのパラメータ

レスポンスで返される追加の情報は想定されていません。

ユーザー確認チュートリアル

確認後 Lambda 関数は、Amazon Cognito が新しいユーザーを確認した直後にトリガーされます。JavaScript、Android、iOS に関する以下のユーザー確認チュートリアルを参照してください。

プラットフォーム チュートリアル
JavaScript ID SDK JavaScript でのユーザーの確認
Android ID SDK Android でのユーザーの確認
iOS ID SDK iOS でのユーザーの確認

確認後の例

この Lambda 関数の例では、Amazon SES を使用してユーザーに確認メールを送信します。詳細については、『Amazon Simple Email Service 開発者ガイド』を参照してください。

Node.js
Node.js
var aws = require('aws-sdk'); var ses = new aws.SES(); exports.handler = (event, context, callback) => { console.log(event); if (event.request.userAttributes.email) { sendEmail(event.request.userAttributes.email, "Congratulations " + event.userName + ", you have been confirmed: ", function(status) { // Return to Amazon Cognito callback(null, event); }); } else { // Nothing to do, the user's email ID is unknown callback(null, event); } }; function sendEmail(to, body, completedCallback) { var 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>" }; var email = ses.sendEmail(eParams, function(err, data){ if (err) { console.log(err); } else { console.log("===EMAIL SENT==="); } completedCallback('Email sent'); }); console.log("EMAIL CODE END"); };

Amazon Cognito は Lambda 関数にイベント情報を渡します。その後関数から同じイベントオブジェクトが Amazon Cognito に返されます。変更がある場合はそれもレスポンスに含まれます。Lambda コンソールで、Lambda トリガーに関連するデータを使用したテストイベントをセットアップできます。以下に、このコードサンプルのテストイベントを示します。

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