คุณสามารถทริกเกอร์ฟังก์ชันเพื่อตอบสนองต่อการสร้างและลบ Firebaseบัญชีผู้ใช้ เช่น คุณอาจส่งอีเมลต้อนรับไปยังผู้ใช้ที่เพิ่งสร้างบัญชีในแอป ตัวอย่างในหน้านี้อิงตามตัวอย่างที่ทำเช่นนี้พอดี นั่นคือส่งอีเมลต้อนรับและส่งท้ายเมื่อมีการสร้างและลบบัญชี
ดูตัวอย่างเพิ่มเติมเกี่ยวกับกรณีการใช้งานได้ที่หัวข้อ ฉันจะทำอะไรได้บ้างด้วย Cloud Functions?
ทริกเกอร์ฟังก์ชันเมื่อมีการสร้างผู้ใช้
คุณสามารถสร้างฟังก์ชันที่จะทริกเกอร์เมื่อมีการสร้างผู้ใช้ Firebase โดยใช้
functions.auth.user().onCreate()
ตัวจัดการเหตุการณ์ดังนี้
exports.sendWelcomeEmail = functions.runWith({secrets: [gmailPassword]}).auth.user().onCreate((user) => { // ... });
บัญชี Firebase จะทริกเกอร์เหตุการณ์การสร้างผู้ใช้สำหรับ Cloud Functions ในกรณีต่อไปนี้
- ผู้ใช้สร้างบัญชีอีเมลและรหัสผ่าน
- ผู้ใช้ลงชื่อเข้าใช้เป็นครั้งแรกโดยใช้ผู้ให้บริการข้อมูลประจำตัวภายนอก
- นักพัฒนาแอปสร้างบัญชีโดยใช้ Admin SDK
- ผู้ใช้ลงชื่อเข้าใช้เซสชันการตรวจสอบสิทธิ์แบบไม่ระบุตัวตนใหม่เป็นครั้งแรก
ระบบ Cloud Functions จะ ไม่ ทริกเกอร์เหตุการณ์เมื่อผู้ใช้ลงชื่อเข้าใช้เป็น ครั้งแรกโดยใช้โทเค็นที่กำหนดเอง
เข้าถึงแอตทริบิวต์ของผู้ใช้
จากข้อมูลผู้ใช้ที่ส่งกลับไปยังฟังก์ชัน คุณสามารถ
เข้าถึงรายการแอตทริบิวต์ของผู้ใช้ที่มีอยู่ในออบเจ็กต์
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.runWith({secrets: [gmailPassword]}).auth.user().onDelete((user) => { // ... });
ทริกเกอร์ฟังก์ชันการบล็อก
หากอัปเกรดเป็น Firebase Authentication with Identity Platform คุณสามารถขยาย Firebase Authentication ได้โดยใช้ Cloud Functions การบล็อกCloud Functions
ฟังก์ชันการบล็อกให้คุณใช้โค้ดที่กำหนดเองซึ่งจะแก้ไขผลลัพธ์จากการที่ผู้ใช้ลงทะเบียนหรือลงชื่อเข้าใช้แอปของคุณ เช่น คุณสามารถป้องกันไม่ให้ผู้ใช้ทำการตรวจสอบสิทธิ์หากผู้ใช้ไม่เป็นไปตามเกณฑ์บางอย่าง หรืออัปเดตข้อมูลของผู้ใช้ก่อนที่จะส่งข้อมูลกลับไปยังแอปไคลเอ็นต์