Firebase Admin SDK ช่วยให้คุณผสานรวมเซิร์ฟเวอร์ของคุณเองกับ Firebase Authentication คุณสามารถใช้ Firebase Admin SDK เพื่อจัดการผู้ใช้หรือเพื่อ จัดการโทเค็นการตรวจสอบสิทธิ์ มีเหตุผลหลายประการที่คุณต้องการ ทำสิ่งนี้
การจัดการผู้ใช้
การที่จำเป็นต้องไปที่ คอนโซล Firebase เพื่อจัดการผู้ใช้ Firebase API การจัดการผู้ใช้ที่ดูแลระบบ ให้สิทธิ์การเข้าถึงแบบเป็นโปรแกรมแก่ผู้ใช้กลุ่มเดียวกัน นอกจากนี้ยังช่วยให้คุณสามารถ สิ่งที่คอนโซล Firebase ไม่สามารถ เช่น ดึงข้อมูลทั้งหมดของผู้ใช้ และเปลี่ยนรหัสผ่าน ที่อยู่อีเมล หรือ หมายเลขโทรศัพท์
การตรวจสอบสิทธิ์ที่กำหนดเอง
คุณจะผสานรวมระบบผู้ใช้ภายนอกกับ Firebase ได้ สำหรับ เช่น คุณอาจมีฐานข้อมูลผู้ใช้อยู่แล้วหรือคุณอาจต้องการ ผสานรวมกับผู้ให้บริการข้อมูลประจำตัวบุคคลที่สามที่ Firebase Authentication ไม่ได้อยู่ใน การสนับสนุน
ในการดำเนินการนี้ คุณสามารถสร้างโทเค็นที่กำหนดเอง พร้อมการอ้างสิทธิ์ตามใจชอบที่ระบุ ผู้ใช้ จากนั้นสามารถใช้โทเค็นที่กำหนดเองเหล่านี้เพื่อลงชื่อเข้าใช้บริการ Firebase Authentication บน แอปพลิเคชันไคลเอ็นต์และขอรับข้อมูลประจำตัวตามที่อ้างไว้ในการอ้างสิทธิ์ของโทเค็น ระบบจะใช้ข้อมูลประจำตัวนี้เมื่อเข้าถึง Firebase อื่น บริการ เช่น Cloud Storage
การยืนยันตัวตน
Firebase Authentication ใช้เพื่อระบุผู้ใช้แอปของคุณเป็นหลักเพื่อจำกัด เข้าถึงบริการอื่นๆ เช่น Cloud Storage นอกจากนี้ คุณยังใช้บริการเพื่อระบุผู้ใช้เหล่านี้ในเซิร์ฟเวอร์ของคุณเองได้ด้วย ซึ่งจะช่วยให้คุณดำเนินการตามตรรกะฝั่งเซิร์ฟเวอร์ได้อย่างปลอดภัยในนามของผู้ใช้ที่ลงชื่อเข้าใช้ด้วย Firebase Authentication
โดยคุณสามารถดึงข้อมูลโทเค็นระบุตัวตนจากแอปพลิเคชันไคลเอ็นต์ที่ลงชื่อเข้าใช้ด้วย Firebase Authentication และใส่โทเค็นนั้นในคำขอไปยังเซิร์ฟเวอร์ จากนั้นเซิร์ฟเวอร์จะยืนยันโทเค็นระบุตัวตนและดึงข้อมูลการอ้างสิทธิ์ที่ระบุตัวตนผู้ใช้ (รวมถึง uid
, ผู้ให้บริการข้อมูลประจำตัวที่ผู้ใช้เข้าสู่ระบบด้วย ฯลฯ) เซิร์ฟเวอร์ของคุณสามารถใช้ข้อมูลประจำตัวนี้เพื่อพก
ดำเนินการในนามของผู้ใช้
Firebase Admin SDK ระบุวิธีการในการบรรลุ งานการตรวจสอบสิทธิ์ข้างต้นโดยให้คุณจัดการผู้ใช้ สร้าง โทเค็น และยืนยันโทเค็นของรหัส
การอ้างสิทธิ์ที่กำหนดเองของผู้ใช้
ในบางกรณี คุณอาจต้องการใช้การควบคุมการเข้าถึงแบบละเอียด สำหรับผู้ใช้ที่ลงชื่อเข้าใช้ด้วย Firebase ที่รองรับแล้ว ผู้ให้บริการตรวจสอบสิทธิ์ เช่น อีเมล/รหัสผ่าน, Google, Facebook, โทรศัพท์ ฯลฯ การใช้การอ้างสิทธิ์ของผู้ใช้ที่กำหนดเองร่วมกับกฎความปลอดภัยของแอปพลิเคชัน แบบพื้นฐาน เช่น ผู้ใช้ที่ลงชื่อเข้าใช้ด้วยFirebase Authenticationผู้ให้บริการอีเมลและรหัสผ่านสามารถกำหนดการควบคุมการเข้าถึงได้โดยใช้การอ้างสิทธิ์ที่กำหนดเอง
การจัดการผู้ใช้
Firebase Admin SDK มี API สำหรับจัดการ ผู้ใช้ Firebase รายที่มีสิทธิ์ในระดับสูงขึ้น การจัดการผู้ใช้ที่ดูแลระบบ API ทำให้คุณสามารถเรียก สร้าง อัปเดต และ ลบผู้ใช้โดยไม่ต้องใช้ข้อมูลเข้าสู่ระบบที่มีอยู่ของผู้ใช้และ โดยกังวลเกี่ยวกับการจำกัดอัตราค่าบริการฝั่งไคลเอ็นต์
จัดการผู้ใช้การสร้างโทเค็นที่กำหนดเอง
การใช้งานหลักสำหรับการสร้างโทเค็นที่กำหนดเองคือการให้ผู้ใช้ตรวจสอบสิทธิ์ กับกลไกการตรวจสอบสิทธิ์ภายนอกหรือแบบเดิม ซึ่งอาจเป็นคุณ เช่น เซิร์ฟเวอร์ LDAP หรือผู้ให้บริการ OAuth บุคคลที่สามที่ Firebase ไม่รองรับโดยค่าเริ่มต้น เช่น Instagram หรือ LinkedIn
Firebase Admin SDK มีวิธีการสร้างในตัว โทเค็นที่กำหนดเอง นอกจากนี้ คุณยังสร้างโทเค็นที่กำหนดเองแบบเป็นโปรแกรมได้ในทุก โดยใช้ไลบรารี JWT ของบุคคลที่สาม
เซิร์ฟเวอร์ของคุณควรสร้างโทเค็นที่กำหนดเองซึ่งมีตัวระบุที่ไม่ซ้ำกัน (uid
) และ
ส่งโทเค็นนั้นไปยังแอปไคลเอ็นต์ ซึ่งจะใช้ในการลงชื่อเข้าใช้
Firebase โปรดดู
สร้างโทเค็นที่กำหนดเอง
เพื่อดูตัวอย่างโค้ดและรายละเอียดเพิ่มเติมเกี่ยวกับกระบวนการสร้างโทเค็นที่กำหนดเอง
การยืนยันโทเค็นบัตรประจำตัว
หากแอปไคลเอ็นต์ Firebase สื่อสารกับเซิร์ฟเวอร์แบ็กเอนด์ คุณอาจต้องระบุผู้ใช้ที่ลงชื่อเข้าใช้อยู่ในเซิร์ฟเวอร์ของคุณ สามารถดำเนินการตรรกะฝั่งเซิร์ฟเวอร์ในนามของตนได้ คุณสามารถดำเนินการได้อย่างปลอดภัยโดยใช้ โทเค็นรหัส ซึ่งสร้างโดย Firebase เมื่อผู้ใช้ลงชื่อเข้าใช้ แอป Firebase โทเค็นรหัสสอดคล้องกับ ข้อกำหนดของ OpenID Connect และ มีข้อมูลสำหรับระบุผู้ใช้ และโปรไฟล์อื่น ข้อมูลเกี่ยวกับการตรวจสอบสิทธิ์ คุณสามารถส่ง ยืนยัน และตรวจสอบโทเค็นเหล่านี้จากแบ็กเอนด์ของคุณเอง การดำเนินการนี้ช่วยให้คุณ ระบุผู้ใช้ที่ลงชื่อเข้าใช้อยู่ในขณะนี้ และให้สิทธิ์ผู้ใช้เหล่านั้นลงในแบ็กเอนด์ของคุณเอง ที่ไม่ซับซ้อน
Firebase Admin SDK มีวิธีการยืนยันในตัว โทเค็นรหัส นอกจากนี้ คุณยังยืนยันโทเค็นรหัสได้แบบเป็นโปรแกรมใน โดยใช้ไลบรารี JWT ของบุคคลที่สาม ดูรายละเอียดเพิ่มเติมและตัวอย่างโค้ดเกี่ยวกับกระบวนการยืนยันโทเค็นระบุตัวตนได้ที่หัวข้อยืนยันโทเค็นระบุตัวตน
การอ้างสิทธิ์ของผู้ใช้ที่กําหนดเอง
Firebase Admin SDK ช่วยให้คุณตั้งค่าแอตทริบิวต์ที่กำหนดเองในบัญชีผู้ใช้ได้ เมื่อใช้การอ้างสิทธิ์ของผู้ใช้ที่กําหนดเอง คุณสามารถให้สิทธิ์เข้าถึง (บทบาท) ระดับต่างๆ แก่ผู้ใช้ได้ ซึ่งระบบจะบังคับใช้ในกฎการรักษาความปลอดภัยของแอปพลิเคชัน
หลังจากแก้ไขการอ้างสิทธิ์ที่กำหนดเองของผู้ใช้ผ่าน Firebase Admin SDK แล้ว เผยแพร่ไปยังผู้ใช้ที่ได้รับการตรวจสอบสิทธิ์ในฝั่งไคลเอ็นต์แล้วผ่านโทเค็นรหัส โทเค็นรหัสเป็นกลไกที่เชื่อถือได้สำหรับการนำส่ง การอ้างสิทธิ์ที่กำหนดเองเหล่านี้ และการเข้าถึงที่ได้รับการตรวจสอบสิทธิ์ทั้งหมดจะต้องตรวจสอบโทเค็นรหัส ก่อนประมวลผลคำขอที่เกี่ยวข้อง
ควบคุมการเข้าถึงด้วยการอ้างสิทธิ์ที่กำหนดเอง