Firebase Authentication

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

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

Firebase Authentication ผสานรวมกับบริการอื่นๆ ของ Firebase ได้อย่างราบรื่น และ ใช้ประโยชน์จากมาตรฐานอุตสาหกรรม เช่น OAuth 2.0 และ OpenID Connect จึง ผสานรวมกับแบ็กเอนด์ที่กำหนดเองได้อย่างง่ายดาย

เมื่ออัปเกรดเป็น Firebase Authentication with Identity Platform คุณจะปลดล็อกฟีเจอร์เพิ่มเติม เช่น การตรวจสอบสิทธิ์แบบหลายปัจจัย, ฟังก์ชันการบล็อก, การบันทึกกิจกรรมของผู้ใช้ และการตรวจสอบ, การรองรับ SAML และ OpenID Connect ทั่วไป, กลุ่มผู้ใช้หลายกลุ่ม และ การสนับสนุนระดับองค์กร

ดูวิธีเริ่มต้นใช้งาน

ความสามารถหลัก

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

FirebaseUI Auth
โซลูชันการตรวจสอบสิทธิ์แบบดรอปอิน

วิธีที่แนะนำในการเพิ่มระบบลงชื่อเข้าใช้ที่สมบูรณ์ลงในแอป

FirebaseUI มีโซลูชันการตรวจสอบสิทธิ์แบบดรอปอินที่จะ จัดการโฟลว์ของ UI สำหรับนำผู้ใช้เข้าสู่ระบบด้วยอีเมลและ รหัสผ่าน หมายเลขโทรศัพท์ และผู้ให้บริการข้อมูลประจำตัวแบบรวมศูนย์ที่ได้รับความนิยม ซึ่งรวมถึงการเข้าสู่ระบบ Google Sign-In และ Facebook

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

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

iOS Android เว็บ

Firebase Authentication SDK
การตรวจสอบสิทธิ์ด้วยอีเมลและรหัสผ่าน

ตรวจสอบผู้ใช้ด้วยอีเมลและรหัสผ่าน Firebase AuthenticationSDK มีวิธีสำหรับสร้างและ จัดการผู้ใช้ที่ใช้อีเมลและรหัสผ่านของตนเองในการลงชื่อเข้าใช้ Firebase Authentication ยังดูแลด้านการส่งอีเมลรีเซ็ตรหัสผ่าน ด้วย

iOS Android เว็บ C++ Unity

การผสานรวมผู้ให้บริการข้อมูลประจำตัวแบบรวมศูนย์

ตรวจสอบผู้ใช้โดยการผสานรวมกับผู้ให้บริการข้อมูลประจำตัวแบบรวมศูนย์ Firebase Authentication SDK มีเมธอดที่อนุญาตให้ ผู้ใช้ลงชื่อเข้าใช้ด้วยบัญชี Google, Facebook, Twitter และ GitHub ของตนเอง

ลงชื่อเข้าใช้ด้วย Google iOS Android เว็บ C++ Unity
ลงชื่อเข้าใช้ด้วย Apple iOS Android เว็บ C++ Unity
Facebook iOS Android เว็บ C++ Unity
Twitter iOS Android เว็บ C++ Unity
GitHub iOS Android เว็บ C++ Unity
การตรวจสอบสิทธิ์ด้วยหมายเลขโทรศัพท์

ตรวจสอบผู้ใช้โดยส่งข้อความ SMS ไปยังโทรศัพท์ของผู้ใช้

iOS Android เว็บ C++ Unity

การผสานรวมระบบการตรวจสอบสิทธิ์ที่กำหนดเอง

เชื่อมต่อระบบการลงชื่อเข้าใช้ที่มีอยู่ของแอปกับ Firebase Authentication SDK และเข้าถึง Firebase Realtime Database และบริการอื่นๆ ของ Firebase

iOS Android เว็บ C++ Unity

การตรวจสอบสิทธิ์แบบไม่ระบุชื่อ

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

iOS Android เว็บ C++ Unity

Firebase Authentication with Identity Platform

Firebase Authentication with Identity Platform เป็นการอัปเกรดที่ไม่บังคับซึ่งจะเพิ่มฟีเจอร์ใหม่ๆ หลายรายการลงใน Firebase Authentication

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

Firebase Authentication with Identity Platform มีรูปแบบการกำหนดราคาที่แตกต่างจากผลิตภัณฑ์พื้นฐาน เมื่ออัปเกรดแล้ว โปรเจ็กต์ในแพ็กเกจแบบไม่มีค่าใช้จ่าย (Spark) จะจำกัดไว้ที่ผู้ใช้ที่ใช้งานอยู่รายวัน (DAU) 3,000 ราย และโปรเจ็กต์ในแพ็กเกจแบบจ่ายเมื่อใช้ (Blaze) จะถูกเรียกเก็บเงินสำหรับการใช้งานที่เกินระดับฟรีของผู้ใช้ที่ใช้งานอยู่รายเดือน (MAU) 50,000 ราย โปรดตรวจสอบว่าคุณเข้าใจผลกระทบด้านการเรียกเก็บเงินก่อนที่จะอัปเกรด

อ่านข้อมูลเพิ่มเติมเกี่ยวกับฟีเจอร์ใหม่ การกำหนดราคา และขีดจำกัดด้านล่าง

ฟีเจอร์

การตรวจสอบสิทธิ์แบบหลายปัจจัย

การตรวจสอบสิทธิ์แบบหลายปัจจัยด้วย SMS ช่วยปกป้องข้อมูลของผู้ใช้โดย เพิ่มการรักษาความปลอดภัยอีกชั้นให้กับแอป

ดูวิธีเพิ่ม MFA ลงใน แอป Apple, Android และ เว็บ

ฟังก์ชันการบล็อก

ฟังก์ชันการบล็อกให้คุณเรียกใช้โค้ดที่กำหนดเองซึ่งจะแก้ไขผลลัพธ์จากการที่ ผู้ใช้ลงทะเบียนหรือลงชื่อเข้าใช้แอปของคุณ

ดูวิธีขยาย Firebase Authentication ด้วยฟังก์ชันการบล็อก

ผู้ให้บริการ SAML และ OpenID Connect

รองรับการลงชื่อเข้าใช้โดยใช้ SAML (เว็บเท่านั้น) และผู้ให้บริการ OpenID Connect ที่ Firebase ไม่รองรับโดยค่าเริ่มต้น

ดูวิธีเพิ่มการลงชื่อเข้าใช้ SAML ลงในเว็บ แอป และการลงชื่อเข้าใช้ OpenID Connect ลงใน แอป Apple, Android และ เว็บ แอป

กิจกรรมของผู้ใช้และการบันทึกการตรวจสอบ

ตรวจสอบและบันทึกการเข้าถึงของผู้ดูแลระบบและกิจกรรมของผู้ใช้ปลายทาง

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

หากต้องการดูวิธีดูและวิเคราะห์บันทึก โปรดดูเอกสารประกอบของ Cloud Logging

กลุ่มผู้ใช้หลายกลุ่ม

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

ดูข้อมูลเพิ่มเติมได้ที่เริ่มต้น ใช้งานกลุ่มผู้ใช้หลายกลุ่มในเอกสารประกอบของ Cloud Identity Platform

การสนับสนุนสำหรับองค์กรและ SLA

โปรเจ็กต์ที่อัปเกรดแล้วจะได้รับการรับประกันเวลาทำงานสำหรับบริการการตรวจสอบสิทธิ์ตาม ข้อตกลงระดับการให้บริการ (SLA) ของ Identity Platform และมีสิทธิ์อัปเกรดเป็นการสนับสนุนระดับองค์กร

การล้างข้อมูลผู้ใช้ที่ไม่ระบุชื่อโดยอัตโนมัติ

คุณจะได้รับตัวเลือกในการเปิดใช้การลบบัญชีที่ไม่ระบุชื่อโดยอัตโนมัติหากบัญชีดังกล่าวมีอายุมากกว่า 30 วัน นอกจากนี้ ระบบจะไม่นับบัญชีที่ไม่ระบุชื่อ รวมในการเรียกเก็บเงินและโควต้าการใช้งานอีกต่อไป

ขีดจำกัดการใช้งาน

เมื่ออัปเกรดแล้ว Firebase Authentication with Identity Platform จะกำหนดขีดจำกัดใหม่ในการใช้ Firebase Authentication

แบบไม่มีค่าใช้จ่าย (Spark)

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

ผู้ให้บริการ ขีดจำกัดใหม่ ขีดจำกัดเดิม
อีเมล, โซเชียล, ไม่ระบุชื่อ, กำหนดเอง DAU 3,000 ราย ไม่จำกัด
SAML, OpenID Connect DAU 2 ราย ไม่มี

จ่ายเมื่อใช้ (Blaze)

การกำหนดราคาสำหรับโปรเจ็กต์ในแพ็กเกจ Blaze จะอิงตามผู้ใช้ที่ใช้งานอยู่รายเดือน (MAU) และรวมระดับแบบไม่มีค่าใช้จ่ายของผู้ใช้ 50,000 ราย ผู้ใช้ที่ใช้งานอยู่คือบุคคลที่ใช้บัญชีของตนเองภายในช่วงเวลาที่เรียกเก็บเงิน

ผู้ให้บริการ ระดับแบบไม่มีค่าใช้จ่าย ค่าใช้จ่าย ($) ต่อ MAU ที่เกินระดับแบบไม่มีค่าใช้จ่าย
อีเมล, โซเชียล, ไม่ระบุชื่อ, กำหนดเอง MAU 0-49,999 ราย 0.0025 ถึง 0.0055 ต่อ MAU
SAML, OpenID Connect MAU 0-49 ราย 0.015 ต่อ MAU

อัปเกรดโปรเจ็กต์ของคุณ

หากต้องการอัปเกรดโปรเจ็กต์เป็น Firebase Authentication with Identity Platform ให้เปิดหน้าการตั้งค่า การตรวจสอบสิทธิ์ของ Firebaseคอนโซล

วิธีการทำงาน

ลิงก์จะทำงานได้อย่างถูกต้องสำหรับแพลตฟอร์ม

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

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

เส้นทางการติดตั้งใช้งาน

การใช้ FirebaseUI Auth
ตั้งค่าวิธีการลงชื่อเข้าใช้ หากต้องการลงชื่อเข้าใช้ด้วยอีเมลและรหัสผ่านหรือหมายเลขโทรศัพท์ รวมถึงผู้ให้บริการข้อมูลประจำตัวแบบรวมศูนย์ที่ต้องการรองรับ ให้เปิดใช้ผู้ให้บริการเหล่านั้นในFirebase คอนโซล และทำการกำหนดค่าที่ผู้ให้บริการข้อมูลประจำตัวกำหนด เช่น การตั้งค่า URL เปลี่ยนเส้นทาง OAuth
ปรับแต่ง UI การลงชื่อเข้าใช้ คุณสามารถปรับแต่ง UI การลงชื่อเข้าใช้ได้โดยการตั้งค่า FirebaseUI ตัวเลือก หรือฟอร์กโค้ดใน GitHub เพื่อปรับแต่งประสบการณ์การลงชื่อเข้าใช้เพิ่มเติม
ใช้ FirebaseUI เพื่อดำเนินการโฟลว์การลงชื่อเข้าใช้ นำเข้าไลบรารี FirebaseUI ระบุวิธีการลงชื่อเข้าใช้ที่ต้องการ รองรับ และเริ่มโฟลว์การลงชื่อเข้าใช้ FirebaseUI
การใช้ Firebase Authentication SDK
ตั้งค่าวิธีการลงชื่อเข้าใช้ หากต้องการลงชื่อเข้าใช้ด้วยอีเมลและรหัสผ่านหรือหมายเลขโทรศัพท์ รวมถึงผู้ให้บริการข้อมูลประจำตัวแบบรวมศูนย์ที่ต้องการรองรับ ให้เปิดใช้ผู้ให้บริการเหล่านั้นในFirebase คอนโซล และทำการกำหนดค่าที่ผู้ให้บริการข้อมูลประจำตัวกำหนด เช่น การตั้งค่า URL เปลี่ยนเส้นทาง OAuth
ใช้โฟลว์ UI สำหรับวิธีการลงชื่อเข้าใช้ สำหรับการลงชื่อเข้าใช้ด้วยอีเมลและรหัสผ่าน ให้ใช้โฟลว์ที่แจ้งให้ผู้ใช้พิมพ์อีเมลและรหัสผ่าน สำหรับการลงชื่อเข้าใช้ด้วยหมายเลขโทรศัพท์ ให้สร้างโฟลว์ที่แจ้งให้ผู้ใช้ป้อนหมายเลขโทรศัพท์ จากนั้น ป้อนรหัสจากข้อความ SMS ที่ได้รับ สำหรับการลงชื่อเข้าใช้แบบรวมศูนย์ ให้ใช้โฟลว์ที่ผู้ให้บริการแต่ละรายกำหนด
ส่งข้อมูลเข้าสู่ระบบของผู้ใช้ไปยัง Firebase Authentication SDK ส่งอีเมลและรหัสผ่านของผู้ใช้ หรือโทเค็น OAuth ที่ได้รับจากผู้ให้บริการข้อมูลประจำตัวแบบรวมศูนย์ไปยัง Firebase Authentication SDK

ขั้นตอนถัดไป

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

iOS+ Android เว็บ Flutter Unity C++ ผู้ดูแลระบบ

หากยังไม่แน่ใจว่าจะเริ่มจากตรงไหน

ดูวิธีเริ่มต้นใช้งาน