ตรวจสอบสิทธิ์ด้วย 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);
}

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

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

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

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

ขั้นตอนการลงชื่อเข้าใช้ของผู้ใช้ด้วยรหัสผ่านจะคล้ายกับขั้นตอนการ สร้างบัญชีใหม่ จากหน้าจอลงชื่อเข้าใช้ของแอป ให้ทำดังนี้ 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();