คุณสามารถผสานรวมการตรวจสอบสิทธิ์ Firebase กับระบบการตรวจสอบสิทธิ์ที่กำหนดเองได้โดย การแก้ไขเซิร์ฟเวอร์การตรวจสอบสิทธิ์เพื่อสร้างโทเค็นที่มีลายเซ็นแบบกำหนดเองเมื่อผู้ใช้ ลงชื่อเข้าใช้สำเร็จ แอปของคุณได้รับโทเค็นนี้และจะใช้เพื่อตรวจสอบสิทธิ์ ด้วย Firebase
ก่อนเริ่มต้น
- หากยังไม่ได้ดำเนินการ ให้ทำตามขั้นตอนในคู่มือเริ่มต้นใช้งาน
- ติดตั้งและกำหนดค่า Firebase Admin SDK อย่าลืมเริ่มต้น SDK ด้วยข้อมูลเข้าสู่ระบบที่ถูกต้องสำหรับโปรเจ็กต์ Firebase
ตรวจสอบสิทธิ์ด้วย Firebase
เมื่อผู้ใช้ลงชื่อเข้าใช้แอป ให้ส่งข้อมูลรับรองการลงชื่อเข้าใช้ (สำหรับ เช่น ชื่อผู้ใช้และรหัสผ่าน) ไปยังเซิร์ฟเวอร์การตรวจสอบสิทธิ์ บัญชี จะตรวจสอบข้อมูลเข้าสู่ระบบ และหากข้อมูลถูกต้อง สร้างโทเค็น Firebase ที่กำหนดเอง และส่งโทเค็นกลับไปยังแอปของคุณ
หลังจากได้รับโทเค็นที่กำหนดเองจากเซิร์ฟเวอร์การตรวจสอบสิทธิ์แล้ว ให้ส่งโทเค็นดังกล่าว ไปยัง
signInWithCustomToken()
เพื่อลงชื่อเข้าใช้สำหรับผู้ใช้:try { final userCredential = await FirebaseAuth.instance.signInWithCustomToken(token); print("Sign-in successful."); } on FirebaseAuthException catch (e) { switch (e.code) { case "invalid-custom-token": print("The supplied token is not a Firebase custom auth token."); break; case "custom-token-mismatch": print("The supplied token is for a different Firebase project."); break; default: print("Unknown error."); } }
ขั้นตอนถัดไป
หลังจากที่ผู้ใช้สร้างบัญชีใหม่ บัญชีนี้จะจัดเก็บไว้เป็นส่วนหนึ่งของ Firebase ซึ่งสามารถใช้เพื่อระบุผู้ใช้ในทุกแอปในบัญชีของคุณ ไม่ว่าผู้ใช้จะลงชื่อเข้าใช้ด้วยวิธีใด
ในแอป คุณสามารถดูข้อมูลโปรไฟล์พื้นฐานของผู้ใช้ได้จาก
ออบเจ็กต์ User
รายการ โปรดดูหัวข้อจัดการผู้ใช้
ในฐานข้อมูลเรียลไทม์ของ Firebase และกฎความปลอดภัยของ Cloud Storage คุณจะทำสิ่งต่อไปนี้ได้
รับรหัสผู้ใช้ที่ไม่ซ้ำของผู้ใช้ที่ลงชื่อเข้าใช้จากตัวแปร auth
และใช้เพื่อ
ควบคุมข้อมูลที่ผู้ใช้เข้าถึงได้
คุณอนุญาตให้ผู้ใช้ลงชื่อเข้าใช้แอปโดยใช้การตรวจสอบสิทธิ์หลายรายการได้ ผู้ให้บริการโดยลิงก์ข้อมูลเข้าสู่ระบบของผู้ให้บริการการตรวจสอบสิทธิ์) กับ บัญชีผู้ใช้ที่มีอยู่
หากต้องการนำผู้ใช้ออกจากระบบ โปรดโทรหา signOut()
await FirebaseAuth.instance.signOut();