ตรวจสอบสิทธิ์ด้วย Firebase โดยใช้บัญชีด้วยรหัสผ่านใน Flutter

คุณสามารถใช้การตรวจสอบสิทธิ์ Firebase เพื่อให้ผู้ใช้ตรวจสอบสิทธิ์กับ Firebase ที่ใช้อีเมลและรหัสผ่าน

ก่อนเริ่มต้น

  1. หากยังไม่ได้ดำเนินการ ให้ทำตามขั้นตอนในคู่มือเริ่มต้นใช้งาน

  2. เปิดใช้งานการลงชื่อเข้าใช้ด้วยอีเมล/รหัสผ่าน:

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

สร้างบัญชีที่ใช้รหัสผ่าน

หากต้องการสร้างบัญชีผู้ใช้ใหม่พร้อมรหัสผ่าน โปรดโทรหา createUserWithEmailAndPassword() วิธีการ:

try {
  final credential = await FirebaseAuth.instance.createUserWithEmailAndPassword(
    email: emailAddress,
    password: password,
  );
} on FirebaseAuthException catch (e) {
  if (e.code == 'weak-password') {
    print('The password provided is too weak.');
  } else if (e.code == 'email-already-in-use') {
    print('The account already exists for that email.');
  }
} catch (e) {
  print(e);
}

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

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

สำหรับการติดตามผลการสร้างบัญชีใหม่ คุณสามารถ ยืนยันอีเมลของผู้ใช้

ลงชื่อเข้าใช้ผู้ใช้ด้วยอีเมลและรหัสผ่าน

ขั้นตอนในการลงชื่อเข้าใช้ให้ผู้ใช้ด้วยรหัสผ่านคล้ายกับขั้นตอนสำหรับ การสร้างบัญชีใหม่ จากหน้าจอลงชื่อเข้าใช้ของแอป ให้โทร signInWithEmailAndPassword():

try {
  final credential = await FirebaseAuth.instance.signInWithEmailAndPassword(
    email: emailAddress,
    password: password
  );
} on FirebaseAuthException catch (e) {
  if (e.code == 'user-not-found') {
    print('No user found for that email.');
  } else if (e.code == 'wrong-password') {
    print('Wrong password provided for that user.');
  }
}

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

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

ในแอป คุณสามารถดูข้อมูลโปรไฟล์พื้นฐานของผู้ใช้ได้จาก ออบเจ็กต์ User รายการ โปรดดูหัวข้อจัดการผู้ใช้

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

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

หากต้องการนำผู้ใช้ออกจากระบบ โปรดโทรหา signOut()

await FirebaseAuth.instance.signOut();