Firebase ユーザー アカウントの作成と削除に対応して関数をトリガーできます。たとえば、アプリでアカウントを作成したばかりのユーザーに登録完了の通知メールを送信できます。このページの例は、アカウントの作成時と削除時に登録完了と削除完了の通知メールを送信するサンプルに基づいています。
その他の使用例については、Cloud Functions で可能な処理をご覧ください。
ユーザー作成時に関数をトリガーする
functions.auth.user().onCreate()
イベント ハンドラを使用して、Firebase ユーザーの作成時にトリガーされる関数を作成できます。
exports.sendWelcomeEmail = functions.auth.user().onCreate((user) => { // ... });
Firebase アカウントでは、以下の場合に Cloud Functions のユーザー作成イベントがトリガーされます。
- ユーザーがメール アカウントとパスワードを作成したとき。
- ユーザーがフェデレーション ID プロバイダを使用して初めてログインしたとき。
- デベロッパーが Firebase Admin SDK を使用してアカウントを作成したとき。
- ユーザーが新しい匿名 Auth セッションに初めてログインしたとき。
ユーザーがカスタム トークンを使用して初めてログインするときには、Cloud Functions イベントはトリガーされません。
ユーザー属性にアクセスする
関数に返されたユーザーデータから、新しく作成されたユーザーの UserRecord
オブジェクトで使用可能なユーザー属性のリストにアクセスできます。たとえば、次に示すように、ユーザーのメールと表示名を取得できます。
const email = user.email; // The email of the user. const displayName = user.displayName; // The display name of the user.
ユーザー削除時に関数をトリガーする
ユーザー作成時に関数をトリガーできるのと同様に、ユーザー削除イベントに対応できます。次に示すように、functions.auth.user().onDelete()
イベント ハンドラを使用します。
exports.sendByeEmail = functions.auth.user().onDelete((user) => { // ... });
ブロッキング関数をトリガーする
Identity Platform を使用する Firebase Authentication にアップグレードした場合は、ブロッキング Cloud Functions を使用して Firebase Authentication を拡張できます。
ブロッキング関数を使用することで、アプリの登録やログインの結果を変更するカスタムコードを実行できます。たとえば、ユーザーが特定の条件を満たしていない場合にユーザーが認証されないようにすることや、クライアント アプリに戻る前にユーザーの情報を更新することができます。