Amazon Cognito User Pools から自動的に送信される「招待メッセージ」はデフォルトでは以下のようにシンプルな設定になっていて,実運用では使いにくさがある😇 あと末尾の .
までコピーしてログインしようとして「エラーになります」って言われることもよくあったりする🔥
emailSubject: Your temporary password emailBody: Your username is {username} and temporary password is {####}.
そこで「メッセージテンプレート」を使うとある程度ならメールテンプレートをカスタマイズできる✉️
今回は AWS CDK でメッセージテンプレートを実装してみた❗️aws_cognito.UserPool
の userInvitation
を設定すれば OK👌
ちなみにメール本文はマークアップに対応してて,改行する場合は <br />
を使う.
import { Stack, StackProps, aws_cognito, } from 'aws-cdk-lib' import { Construct } from 'constructs' export class CognitoMessageTemplateStack extends Stack { constructor(scope: Construct, id: string, props?: StackProps) { super(scope, id, props) new aws_cognito.UserPool(this, 'UserPool', { userPoolName: 'sandbox', signInAliases: { email: true, }, userInvitation: { emailSubject: 'kakakakakku sandbox: Your temporary password', emailBody: `Thank you for signing up to kakakakakku sandbox \( 'ω')/<br /> Your username is {username} and temporary password is {####}`, } }) } }
デプロイして再度確認するとカスタマイズしたメッセージテンプレートになっていた👏