ทริกเกอร์การตรวจสอบสิทธิ์ Firebase

คุณสามารถเรียกใช้ฟังก์ชันเพื่อตอบสนองต่อการสร้างและการลบ Firebase บัญชีผู้ใช้ได้ เช่น คุณอาจส่งอีเมลต้อนรับไปยังผู้ใช้ที่เพิ่งสร้างบัญชีในแอป ตัวอย่างในหน้านี้อิงตามตัวอย่างที่ทำเช่นนี้อย่างแน่นอน นั่นคือส่งอีเมลต้อนรับและอีเมลบอกลาเมื่อมีการสร้างและลบบัญชี

ดูตัวอย่าง Use Case เพิ่มเติมได้ที่หัวข้อ ฉันทำอะไรได้บ้างด้วย Cloud Functions

เรียกใช้ฟังก์ชันเมื่อมีการสร้างผู้ใช้

คุณสามารถสร้างฟังก์ชันที่จะทริกเกอร์เมื่อมีการสร้างFirebaseผู้ใช้ โดยใช้ตัวแฮนเดิลเหตุการณ์ functions.auth.user().onCreate() ได้โดยทำดังนี้

exports.sendWelcomeEmail = functions.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.auth.user().onDelete((user) => {
  // ...
});

ทริกเกอร์ฟังก์ชันการบล็อก

หากอัปเกรดเป็น Firebase Authentication with Identity Platform แล้ว คุณจะขยายเวลา Firebase Authentication ได้โดยบล็อก Cloud Functions

ฟังก์ชันการบล็อกให้คุณใช้โค้ดที่กำหนดเองซึ่งจะแก้ไขผลลัพธ์จากการที่ผู้ใช้ลงทะเบียนหรือลงชื่อเข้าใช้แอปของคุณ ตัวอย่างเช่น คุณสามารถป้องกันไม่ให้ผู้ใช้ตรวจสอบสิทธิ์หากผู้ใช้ไม่เป็นไปตามเกณฑ์ที่กำหนด หรืออัปเดตข้อมูลของผู้ใช้ก่อนที่จะส่งกลับไปยังแอปไคลเอ็นต์