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
の両方が含まれている必要があります。」とありましたので、つまりはそういうことですね。