Firebase Authenticationトリガーを使う

公開日時

Firebase Authで認証機能を実装する際に、ユーザ登録完了時にサーバ側で処理を行いたい場合がある。

そんな時はCloud Functionsの「Firebase Authentication トリガー」が使える。

先日試したfirestore-stripe-subscriptionsのFirebase Authenticationトリガー実装を参考に、ユーザ登録完了時にStripeユーザを作成するようにした。

import * as functions from 'firebase-functions'
import { createCustomerRecord } from '../util/customer'

const createCustomer = functions
  .region('asia-northeast1')
  .auth.user()
  .onCreate(
    async (user): Promise<void> => {
      const { email, uid } = user

      // Stripe APIでcustomerを作成し、Firestoreに書き込む
      await createCustomerRecord({ email, uid })
    }
  )

export default createCustomer

Related #firebase

Firestore エミュレータ使用時にデータをリセットする

エミュレータの場合のみ一括削除用のAPIが用意されている

Error: Input required and not supplied: firebaseServiceAccount

Dependabotによって作成されたPull Requestのみで発生している

Firebase公式Github ActionsでPull RequestごとにHostingのプレビュー環境を作る

手軽にプレビュー環境で動作確認できるようになったので、継続的なアップデートがやりやすくなった