ขยายการตรวจสอบสิทธิ์ Firebase ด้วย Cloud Functions

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

ดูตัวอย่างกรณีการใช้งานเพิ่มเติมได้ที่ ฉันจะใช้ Cloud Functions ทำอะไรได้บ้าง

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

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

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

บัญชี Firebase จะทริกเกอร์เหตุการณ์การสร้างผู้ใช้สำหรับ Cloud Functions ในกรณีต่อไปนี้

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

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