🎉
FirebaseのAuthenticationのメールアドレス確認の文章を変更する方法
できるようになること
メールアドレス確認のテンプレートを使用せず、文章を変更できるようになります
環境
- Amazon Simple Email Service(Sendgridでも可)
- FirebaseCloudFunctions
大まかな流れ
-
createUserWithEmailAndPassword
して、auth.user
をfirebase
に作成する -
cloud functions
でauth.user
が作成された時に、メールアドレス確認リンクを作成する - メール文章にリンクを載せて、メール配信サービスを使って送信する
コード
createUserWithEmailAndPassword
して、auth.user
を firebase
に作成する
1. firebase.auth().createUserWithEmailAndPassword(email, password)
.then((userCredential) => {
// 成功時の処理
})
.catch((error) => {
// 失敗時の処理
});
cloud functions
で auth.user
が作成された時に、メールアドレス確認リンクを作成する
2. export const sendEmailVerification = async (user: admin.auth.UserRecord) => {
if (!user.email) return;
// リンク作成
const link = await auth.generateEmailVerificationLink(user.email);
await sendCustomVerificationEmail(user.email, link);
};
3. メール文章にリンクを載せて、メール配信サービスを使って送信する
const sendCustomVerificationEmail = async (email: string, link: string) => {
return new AWS.SES()
.sendTemplatedEmail({
Destination: { ToAddresses: [email] },
Source: source,
Template: "templateVerifyEmail",
// メールテンプレートにメールアドレス確認用のURLを渡す
TemplateData: JSON.stringify({ confirmationLink: link })
})
.promise()
.then((value: AWS.SES.SendTemplatedEmailResponse) => {
// 成功時の処理
})
.catch((e: AWS.AWSError) => {
// 失敗時の処理
});
};
4. メールが届く
この記事に書いてあることができたら・・・
「Issue」のタスクをこなすことができます❗️
IssueではIssue単位で企業のお仕事ができるサービスです
Ex.
Firebaseでメールアドレス確認メール文章変更の実装
単価3,000円で受けて10時間ほどで実装した場合
3,000円 × 10時間 = 30,000円
Discussion