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