Firebase ユーザー アカウントの作成と削除に応じて、Cloud Functions をトリガーできます。たとえば、アプリでアカウントを作成したばかりのユーザーにウェルカム メールを送信できます。このページの例は、まさにこれを行うサンプルに基づいています。つまり、アカウントの作成および削除時にウェルカム メールとフェアウェル メールを送信します。
ユースケースのその他の例については、「 Cloud Functions で何ができますか?」を参照してください。
ユーザー作成時に関数をトリガーする
functions.auth.user().onCreate()
イベント ハンドラを使用して、Firebase ユーザーが作成されたときにトリガーされる関数を作成できます。
exports.sendWelcomeEmail = functions.auth.user().onCreate((user) => { // ... });
Firebase アカウントは、次の場合に Cloud Functions のユーザー作成イベントをトリガーします。
- ユーザーが電子メール アカウントとパスワードを作成します。
- ユーザーは、フェデレーション ID プロバイダーを使用して初めてサインインします。
- 開発者は、Firebase Admin SDK を使用してアカウントを作成します。
- ユーザーが新しい匿名認証セッションに初めてサインインします。
ユーザーがカスタム トークンを使用して初めてサインインするとき、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 を拡張できます。
ブロッキング関数を使用すると、ユーザーがアプリに登録またはサインインした結果を変更するカスタム コードを実行できます。たとえば、ユーザーが特定の基準を満たさない場合に認証を行わないようにしたり、クライアント アプリに情報を返す前にユーザーの情報を更新したりできます。