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