Save the date - Google I/O returns May 18-20. Register to get the most out of the digital experience: Build your schedule, reserve space, participate in Q&As, earn Google Developer profile badges, and more. Register now
หน้านี้ได้รับการแปลโดย Cloud Translation API
Switch to English

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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