「翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。」
カスタムメッセージ Lambda トリガー
E メールまたは電話による確認メッセージまたは多要素認証 (MFA) コードを送信する前に、Amazon Cognito がこのトリガーを呼び出して、動的なカスタムメッセージを送信します。静的なカスタムメッセージは、
メッセージのカスタマイズ ]タブ( Amazon Cognito コンソール
リクエストには、ユーザーに配信するコードのプレースホルダーとなる文字列 codeParameter
が含まれます。メッセージ本文で検証コードを挿入する位置に codeParameter
の文字列を挿入します。このレスポンスを受信すると、Amazon Cognito サービスは codeParameter
文字列を実際の確認コードに置き換えます。
カスタムメッセージの Lambda 関数と CustomMessage_AdminCreateUser
トリガーはユーザー名と確認コードを返すため、リクエストには request.usernameParameter
と request.codeParameter
の両方が含まれている必要があります。
カスタムメッセージ Lambda トリガーソース
triggerSource 値 | トリガーイベント |
---|---|
CustomMessage_SignUp |
カスタムメッセージ - サインアップ後に確認コードを送信するため. |
CustomMessage_AdminCreateUser |
カスタムメッセージ – 新規ユーザーに一時パスワードを送信するため. |
CustomMessage_ResendCode |
カスタムメッセージ – 既存ユーザーに確認コードを再送するため. |
CustomMessage_ForgotPassword |
カスタムメッセージ - 忘れたパスワードのリクエスト用の確認コードを送信するため. |
CustomMessage_UpdateUserAttribute |
カスタムメッセージ - ユーザーの E メールまたは電話番号が変更されると、このトリガーは検証コードをそのユーザーに自動的に送信します。他の属性には使用できません。 |
CustomMessage_VerifyUserAttribute |
カスタムメッセージ – ユーザーが手動で新しい E メールや電話番号の認証コードをリクエストすると、このトリガーからユーザーに認証コードが送信されます。 |
CustomMessage_Authentication |
カスタムメッセージ - 認証時に MFA コードを送信するため. |
カスタムメッセージ Lambda トリガーパラメータ
これらは、共通パラメータに加えてこの Lambda 関数に必要なパラメータです。
カスタムメッセージリクエストパラメータ
- userAttributes
-
ユーザー属性を表す 1 つ以上の名前 - 値ペア。
- codeParameter
-
カスタムメッセージで、検証コードのプレースホルダーとして使用する文字列。
- ユーザー名パラメータ
-
ユーザー名パラメータ。これは、管理者がユーザーフローを作成するために必要なリクエストパラメータです。
- clientMetadata
-
カスタムメッセージトリガーに指定する Lambda 関数へのカスタム入力として指定できる 1 つ以上のキーと値のペア。このデータを Lambda 機能、 ClientMetadata パラメータを次の API アクションで指定します。
カスタムメッセージレスポンスパラメータ
レスポンスで、ユーザーへのメッセージに使用するカスタムテキストを指定します。
- smsMessage
-
ユーザーに送信されるカスタム SMS メッセージ。リクエストで受信される
codeParameter
値を含める必要があります。 - emailMessage
-
ユーザーに送信されるカスタム E メールメッセージ。リクエストで受信される
codeParameter
値を含める必要があります。次の場合: EmailSendingAccount は開発者ではなく、 EmailMessage 返されます。400 エラーコードcom.amazonaws.cognito.identity.idp.model.InvalidLambdaResponseException
スローされます。emailMessage は、次の場合にのみ許可されます。 UserPoolの EmailSendingAccount は開発者です。 - emailSubject
-
カスタムメッセージの件名。次の場合: EmailSendingAccount は開発者ではなく、 EmailMessage 返されます。400 エラーコード
com.amazonaws.cognito.identity.idp.model.InvalidLambdaResponseException
スローされます。emailSubject は、次の場合にのみ許可されます。 UserPoolの EmailSendingAccount は開発者です。
サインアップのカスタムメッセージの例
この Lambda 関数は、サービスからの要求に応じて、アプリからユーザーに検証コードを送信する際の E メールや SMS メッセージをカスタマイズするために呼び出します。
Lambda トリガーは、登録後、検証コードの再送信時、パスワードを忘れたとき、ユーザー属性の検証時など、複数のポイントで呼び出すことができます。レスポンスには、SMS
と E メールの両方のメッセージが含まれます。メッセージには、ユーザーに配信する検証コードのプレースホルダーとなるコードパラメータ "####"
を含める必要があります。
E メールの場合、メッセージの最大長は検証コードを含めて UTF-8 で 20,000 文字です。これらの E メールでは HTML タグを使用できます。
SMS の場合、最大長は検証コードを含めて UTF-8 で 140 文字です。
Amazon Cognito は Lambda 関数にイベント情報を渡します。その後関数から同じイベントオブジェクトが Amazon Cognito に返されます。変更がある場合はそれもレスポンスに含まれます。Lambda コンソールで、Lambda トリガーに関連するデータを使用したテストイベントをセットアップできます。以下に、このコードサンプルのテストイベントを示します。
管理者作成ユーザーのカスタムメッセージの例
カスタムメッセージの Lambda 関数と CustomMessage_AdminCreateUser
トリガーはユーザー名と確認コードを返すため、メッセージ本文に request.usernameParameter
と request.codeParameter
の両方を含めます。
コードのパラメータ値 "####"
は、の一時パスワードのプレースホルダーであり、「username」はユーザーに提供されるユーザー名のプレースホルダーです。
E メールの場合、メッセージの最大長は検証コードを含めて UTF-8 で 20,000 文字です。これらの E メールでは HTML タグを使用できます。SMS の場合、最大長は検証コードを含めて UTF-8 で 140 文字です。
レスポンスには、SMS と E メールの両方のメッセージが含まれます。
Amazon Cognito は Lambda 関数にイベント情報を渡します。その後関数から同じイベントオブジェクトが Amazon Cognito に返されます。変更がある場合はそれもレスポンスに含まれます。Lambda コンソールで、Lambda トリガーに関連するデータを使用したテストイベントをセットアップできます。以下に、このコードサンプルのテストイベントを示します。