Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

บทนำสู่ Admin Auth API

จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ

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

การจัดการผู้ใช้

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

การรับรองความถูกต้องแบบกำหนดเอง

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

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

การยืนยันตัวตน

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

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

Firebase Admin SDK มีวิธีทำงานตรวจสอบสิทธิ์ด้านบนให้สำเร็จโดยช่วยให้คุณจัดการผู้ใช้ สร้างโทเค็นที่กำหนดเอง และยืนยันโทเค็น ID

การอ้างสิทธิ์ของผู้ใช้ที่กำหนดเอง

ในบางกรณี คุณอาจต้องการใช้การควบคุมการเข้าถึงแบบละเอียดสำหรับผู้ใช้ที่ลงชื่อเข้าใช้ด้วยผู้ให้บริการตรวจสอบสิทธิ์ Firebase รายใดรายหนึ่งที่ได้รับการสนับสนุน เช่น อีเมล/รหัสผ่าน, Google, Facebook, โทรศัพท์ ฯลฯ การอ้างสิทธิ์ของผู้ใช้ที่กำหนดเองและการรักษาความปลอดภัยแอปพลิเคชันร่วมกัน กฎให้ความสามารถนี้ ตัวอย่างเช่น ผู้ใช้ที่ลงชื่อเข้าใช้ด้วยผู้ให้บริการอีเมลและรหัสผ่านการตรวจสอบสิทธิ์ Firebase สามารถกำหนดการควบคุมการเข้าถึงได้โดยใช้การอ้างสิทธิ์ที่กำหนดเอง

การจัดการผู้ใช้

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

จัดการผู้ใช้

การสร้างโทเค็นแบบกำหนดเอง

การใช้งานหลักในการสร้างโทเค็นที่กำหนดเองคือการอนุญาตให้ผู้ใช้ตรวจสอบกับกลไกการตรวจสอบสิทธิ์ภายนอกหรือแบบเดิม นี่อาจเป็นสิ่งที่คุณควบคุม เช่น เซิร์ฟเวอร์ LDAP ของคุณ หรือผู้ให้บริการ OAuth บุคคลที่สามซึ่ง Firebase ไม่รองรับโดยกำเนิด เช่น Instagram หรือ LinkedIn

Firebase Admin SDK มีวิธีการในตัวสำหรับการสร้างโทเค็นที่กำหนดเอง คุณยังสามารถสร้างโทเค็นที่กำหนดเองโดยทางโปรแกรมในภาษาใดก็ได้โดยใช้ไลบรารี JWT ของบุคคลที่สาม

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

สร้างโทเค็นที่กำหนดเอง

การตรวจสอบโทเค็น ID

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

Firebase Admin SDK มีวิธีการในตัวสำหรับยืนยันโทเค็น ID คุณยังสามารถตรวจสอบโทเค็น ID โดยทางโปรแกรมในภาษาใดก็ได้โดยใช้ไลบรารี JWT บุคคลที่สาม ดู ยืนยันโทเค็น ID สำหรับรายละเอียดเพิ่มเติมและตัวอย่างรหัสเกี่ยวกับกระบวนการตรวจสอบโทเค็น ID

ยืนยันรหัสโทเค็น

ผู้ใช้กำหนดเองเรียกร้อง

Firebase Admin SDK ให้คุณตั้งค่าแอตทริบิวต์ที่กำหนดเองในบัญชีผู้ใช้ได้ ด้วยการอ้างสิทธิ์ผู้ใช้แบบกำหนดเอง คุณสามารถให้สิทธิ์การเข้าถึง (บทบาท) ในระดับต่างๆ แก่ผู้ใช้ ซึ่งจะบังคับใช้ในกฎความปลอดภัยของแอปพลิเคชัน

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

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