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

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

สำหรับตัวอย่างกรณีการใช้งานเพิ่มเติม โปรดดูที่ ฉันสามารถทำอะไรกับฟังก์ชันคลาวด์ได้บ้าง .

ทริกเกอร์ฟังก์ชันในการสร้างผู้ใช้

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

exports.sendWelcomeEmail = functions.auth.user().onCreate((user) => {
  // ...
});

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

  • ผู้ใช้สร้างบัญชีอีเมลและรหัสผ่าน
  • ผู้ใช้ลงชื่อเข้าใช้เป็นครั้งแรกโดยใช้ผู้ให้บริการข้อมูลประจำตัวแบบรวมศูนย์
  • นักพัฒนาซอฟต์แวร์สร้างบัญชีโดยใช้ Firebase 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 ด้วย Identity Platform แล้ว คุณจะขยาย Firebase Authentication ได้โดยใช้ การบล็อก Cloud Functions

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