ข้อมูลเบื้องต้นเกี่ยวกับ Admin Auth API

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 แล้ว เผยแพร่ไปยังผู้ใช้ที่ได้รับการตรวจสอบสิทธิ์ในฝั่งไคลเอ็นต์แล้วผ่านโทเค็นรหัส โทเค็นรหัสเป็นกลไกที่เชื่อถือได้สำหรับการนำส่ง การอ้างสิทธิ์ที่กำหนดเองเหล่านี้ และการเข้าถึงที่ได้รับการตรวจสอบสิทธิ์ทั้งหมดจะต้องตรวจสอบโทเค็นรหัส ก่อนประมวลผลคำขอที่เกี่ยวข้อง

ควบคุมการเข้าถึงด้วยการอ้างสิทธิ์ที่กำหนดเอง