Firebase Summit で発表されたすべての情報をご覧ください。Firebase を使用してアプリ開発を加速し、自信を持ってアプリを実行する方法を紹介しています。詳細

CloudFunctionsでFirebase認証を拡張する

コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。

Firebaseユーザーアカウントの作成と削除に応じてCloudFunctionsをトリガーできます。たとえば、アプリでアカウントを作成したばかりのユーザーにウェルカムメールを送信できます。このページの例は、まさにこれを行うサンプルに基づいています。アカウントの作成と削除時にウェルカムメールと別れのメールを送信します。

ユースケースのその他の例については、「CloudFunctionsで何ができるか」を参照してください。

ユーザー作成時に関数をトリガーする

関数functions.auth.user().onCreate()イベントハンドラーを使用して、Firebaseユーザーが作成されたときにトリガーされる関数を作成できます。

exports.sendWelcomeEmail = functions.auth.user().onCreate((user) => {
  // ...
});

Firebaseアカウントは、次の場合にCloudFunctionsのユーザー作成イベントをトリガーします。

  • ユーザーがメールアカウントとパスワードを作成します。
  • ユーザーは、フェデレーションIDプロバイダーを使用して初めてサインインします。
  • 開発者は、FirebaseAdminSDKを使用してアカウントを作成します。
  • ユーザーが新しい匿名認証セッションに初めてサインインします。

ユーザーがカスタムトークンを使用して初めてサインインした場合、CloudFunctionsイベントはトリガーされません

ユーザー属性にアクセスする

関数に返されたユーザーデータから、新しく作成されたユーザーの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認証にアップグレードした場合は、クラウド機能のブロックを使用してFirebase認証を拡張できます。

ブロッキング関数を使用すると、ユーザーがアプリに登録またはサインインした結果を変更するカスタムコードを実行できます。たとえば、ユーザーが特定の基準を満たしていない場合にユーザーが認証されないようにしたり、クライアントアプリに返す前にユーザーの情報を更新したりできます。