ตรวจสอบสิทธิ์กับ 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 Realtime และกฎความปลอดภัยของ Cloud Storage คุณสามารถรับ ID ผู้ใช้เฉพาะของผู้ใช้ที่ลงชื่อเข้าใช้ได้จากตัวแปร auth และใช้เพื่อควบคุมข้อมูลที่ผู้ใช้สามารถเข้าถึงได้

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

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

await FirebaseAuth.instance.signOut();