หน้านี้ได้รับการแปลโดย Cloud Translation API
Switch to English

ผู้ใช้ในโครงการ Firebase

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

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

คุณสมบัติของผู้ใช้

ผู้ใช้ Firebase มีคุณสมบัติพื้นฐานที่แน่นอนซึ่งเป็นรหัสเฉพาะที่อยู่อีเมลหลักชื่อและ URL รูปถ่ายซึ่งจัดเก็บในฐานข้อมูลผู้ใช้ของโครงการซึ่งผู้ใช้สามารถอัปเดตได้ ( iOS , Android , เว็บ ) คุณไม่สามารถเพิ่มคุณสมบัติอื่น ๆ ลงในวัตถุผู้ใช้โดยตรง คุณสามารถจัดเก็บคุณสมบัติเพิ่มเติมในบริการจัดเก็บอื่น ๆ แทนเช่น Google Cloud Firestore แทน

ครั้งแรกที่ผู้ใช้ลงชื่อสมัครใช้แอปของคุณข้อมูลโปรไฟล์ของผู้ใช้จะถูกเติมด้วยข้อมูลที่มี:

  • หากผู้ใช้ลงทะเบียนด้วยที่อยู่อีเมลและรหัสผ่านเฉพาะที่อยู่อีเมลหลักเท่านั้นที่จะมีการเติมคุณสมบัติ
  • หากผู้ใช้ลงชื่อสมัครใช้กับผู้ให้บริการเอกลักษณ์ภายนอกเช่น Google หรือ Facebook ข้อมูลบัญชีที่ให้บริการโดยผู้ให้บริการจะถูกใช้เพื่อเติมโปรไฟล์ของผู้ใช้
  • หากผู้ใช้ลงชื่อสมัครใช้ระบบรับรองความถูกต้องที่กำหนดเองของคุณคุณต้องเพิ่มข้อมูลที่คุณต้องการลงในโปรไฟล์ของผู้ใช้อย่างชัดเจน

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

ผู้ให้บริการเข้าสู่ระบบ

คุณสามารถลงชื่อเข้าใช้แอพของคุณได้หลายวิธี: ที่อยู่อีเมลและรหัสผ่านผู้ให้บริการระบุรวมและระบบรับรองความถูกต้องที่กำหนดเองของคุณ คุณสามารถเชื่อมโยงวิธีการลงชื่อเข้าใช้มากกว่าหนึ่งวิธีกับผู้ใช้: ตัวอย่างเช่นผู้ใช้สามารถลงชื่อเข้าใช้บัญชีเดียวกันโดยใช้ที่อยู่อีเมลและรหัสผ่านหรือใช้การลงชื่อเข้าใช้ของ Google

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

ผู้ใช้ปัจจุบัน

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

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

วงจรชีวิตของผู้ใช้

วิธีที่แนะนำในการติดตามสถานะปัจจุบันของอินสแตนซ์ Auth คือการใช้ฟัง (เรียกอีกอย่างว่า "ผู้สังเกตการณ์" ใน JavaScript) ผู้ฟังรับรองความถูกต้องจะได้รับแจ้งเมื่อใดก็ตามที่มีสิ่งที่เกี่ยวข้องเกิดขึ้นกับวัตถุรับรองความถูกต้อง ดูการจัดการผู้ใช้ ( iOS , Android , เว็บ )

ผู้ฟัง Auth จะได้รับแจ้งในสถานการณ์ต่อไปนี้

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

โทเค็นรับรองความถูกต้อง

เมื่อคุณทำการรับรองความถูกต้องกับ Firebase มีโทเค็นการรับรองความถูกต้องสามชนิดที่คุณอาจพบ:

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