Cognito User Poolsのトリガーでカスタムメッセージ使うときにAdminCreateUserでハマった話
Cognito User Poolsはトリガーを使うことでメッセージをカスタマイズすることができます。 参考:AWS Lambda トリガーを使用したユーザープールのワークフローのカスタマイズ event.respons […]
Cognito User Poolsはトリガーを使うことでメッセージをカスタマイズすることができます。
参考:AWS Lambda トリガーを使用したユーザープールのワークフローのカスタマイズ
event.response.emailMessage
にHTMLを入れればHTMLメールが送れるので非常に便利です。
が、なぜかAdminCreateUserしたときだけHTMLメールではなくデフォルトのメールが送られるという現象にこの間遭遇しました。
対応:ドキュメントに記載されてる値をちゃんと含めましょう
他のトリガーではHTMLメールが送信されるのに、CustomMessage_AdminCreateUser
ではなぜか送信されないというこの現象。
よくよく調べてみると、event.response.emailMessage
にevent.request.usernameParameter
とevent.request.codeParameter
が含まれていないとダメな様子です。
OKなケース
event.response.smsMessage = `Welcome to the service. Your user name is ${event.request.usernameParameter} Your temporary password is ${event.request.codeParameter}`
callback(null, event)
NGなケース
event.response.smsMessage = `Welcome to the service. Your user name is ${event.userName} Your temporary password is {####}`
callback(null, event)
{###}
やevent.userName
でも他のトリガーは動作しますが、CustomMessage_AdminCreateUser
だけはNGの様子です。
あとでドキュメントを見返すと、「リクエストには request.usernameParameter
と request.codeParameter
の両方が含まれている必要があります。」とありましたので、つまりはそういうことですね。
ブックマークや限定記事(予定)など
WP Kyotoサポーター募集中
WordPressやフロントエンドアプリのホスティング、Algolia・AWSなどのサービス利用料を支援する「WP Kyotoサポーター」を募集しています。
月額または年額の有料プランを契約すると、ブックマーク機能などのサポーター限定機能がご利用いただけます。
14日間のトライアルも用意しておりますので、「このサイトよく見るな」という方はぜひご検討ください。