Pemicu Firebase Authentication
Fungsi Cloud Run dapat dipicu oleh peristiwa dari Firebase Authentication dalam project Google Cloud yang sama dengan fungsi. Peristiwa ini mencakup pembuatan dan penghapusan pengguna. Misalnya, Anda dapat mengirim email sambutan kepada pengguna yang baru saja membuat akun di aplikasi Anda.
Jenis peristiwa
Firebase Authentication dapat memicu fungsi sebagai respons terhadap peristiwa create
dan delete
pengguna.
Jenis Peristiwa | Pemicu |
---|---|
providers/firebase.auth/eventTypes/user.create |
Dipicu saat akun pengguna dibuat. |
providers/firebase.auth/eventTypes/user.delete |
Dipicu saat akun pengguna dihapus. |
Pengguna dibuat
Akun Firebase memicu peristiwa pembuatan pengguna untuk fungsi Cloud Run saat:
Pengguna membuat akun email dan sandi.
Pengguna login untuk pertama kalinya menggunakan penyedia identitas gabungan.
Developer membuat akun menggunakan Firebase Admin SDK.
Pengguna login ke sesi autentikasi anonim baru untuk pertama kalinya.
Pengguna dihapus
Anda juga dapat mengonfigurasi fungsi untuk dipicu setelah penghapusan pengguna.
Struktur peristiwa
Data peristiwa disediakan sebagai objek UserRecord
.
Contoh peristiwa pembuatan akun berbasis sandi ditampilkan di bawah:
{ "email": "me@example.com", "metadata": { "createdAt": "2018-10-19T19:29:16Z" }, "uid": "XXXXX" }
Beberapa properti objek ini hanya ditentukan saat menggunakan metode autentikasi tertentu. Misalnya, peristiwa akun berbasis sandi menentukan properti email
yang berisi alamat email pengguna. Properti uid
(yang berisi ID pengguna unik untuk project Anda) selalu ditentukan.
Kode sampel
Node.js
Python
Go
Java
C#
Ruby
PHP
Men-deploy fungsi Anda
Untuk men-deploy fungsi, Anda harus menentukan jenis peristiwa dan project yang Firebase Auth-nya sudah dikonfigurasi. Di Konsol Google Cloud, ada satu kolom untuk Jenis Peristiwa karena project tersebut dianggap sama dengan project yang berisi fungsi Anda.
Namun, pada command line, Anda harus menggunakan string yang spesifik untuk menentukan kedua
parameter ini. Perintah gcloud
berikut men-deploy fungsi yang dipicu oleh peristiwa create
pengguna:
gcloud functions deploy FUNCTION_NAME \ --no-gen2 \ --entry-point ENTRY_POINT \ --trigger-event providers/firebase.auth/eventTypes/user.create \ --trigger-resource YOUR_PROJECT_ID \ --runtime RUNTIME
Argumen | Deskripsi |
---|---|
FUNCTION_NAME |
Nama terdaftar fungsi Cloud Run yang Anda deploy.
Ini dapat berupa nama fungsi dalam kode sumber Anda, atau string arbitrer. Jika FUNCTION_NAME adalah string arbitrer, Anda harus menyertakan flag --entry-point .
|
--entry-point ENTRY_POINT |
Nama fungsi atau class dalam kode sumber Anda. Opsional, kecuali jika Anda tidak menggunakan FUNCTION_NAME untuk menentukan fungsi dalam kode sumber yang akan dijalankan selama deployment. Dalam hal ini, Anda harus menggunakan --entry-point untuk memberikan nama fungsi yang dapat dieksekusi.
|
--trigger-event NAME |
Nama jenis peristiwa yang memicu fungsi. Dalam hal ini, opsinya harus berupa buat atau hapus, seperti yang tercantum di atas. |
--trigger-resource NAME |
Project ID (dalam contoh ini, YOUR_PROJECT_ID ) untuk project yang berisi fungsi Anda dan Firebase Authentication.
|
--runtime RUNTIME |
Nama runtime yang Anda gunakan. Untuk daftar lengkapnya, lihat referensi gcloud .
|