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

SharedArrayBuffer updates in Android Chrome 88 and Desktop Chrome 92

クロスオリジン分離対応を実施

Firebase Emulator Suiteで起動しているFunctionsから本番のFirestoreにアクセスする

functionsのみエミュレータを使うようにするとできる

Firebase Functions呼び出し時に Error: function terminated. が発生した場合

firebase functions:logで詳細を確認できる

Cloud BuildでFirebase Hostingのデプロイを行う

リポジトリへのpush以外をトリガーにしたい場合に使用

Firebase FunctionsでonCallで実装しているにも関わらずCORSエラーが発生した場合

Cloud Functions(GCP)の管理画面を確認してみる

JestでFirestoreセキュリティルールのテストを書く

Github ActionsでCIを回せるようになった