🔖 หมวดบทเรียน: การจัดการระบบล็อกอินผู้ใช้ด้วย Firebase
📌 เหมาะสำหรับ: ผู้ที่ต้องการสร้างระบบล็อกอิน สมัครสมาชิก และจัดการผู้ใช้ในแอป
🎯 เป้าหมาย: เข้าใจการใช้ Firebase Authentication สำหรับ Email/Password login บน Flutter
🧭 เกริ่นนำ
Firebase Authentication เป็นระบบล็อกอินที่ปลอดภัยและใช้งานง่าย รองรับหลายรูปแบบ เช่น Email/Password, Google, Facebook, Apple ฯลฯ ในบทนี้เราจะเริ่มต้นจาก Email/Password ซึ่งเป็นพื้นฐานที่ใช้ได้ทั่วไปและง่ายต่อการเรียนรู้
🔧 เตรียมโปรเจกต์ Firebase
- ไปที่ https://console.firebase.google.com
- สร้างโปรเจกต์ใหม่ → เพิ่ม Android/iOS App
- เปิดใช้งาน Email/Password Authentication ใน Authentication > Sign-in method
📦 ติดตั้งแพ็กเกจ Firebase
dependencies:
firebase_core: ^2.27.0
firebase_auth: ^4.16.0
🔨 เริ่มต้นใช้งาน Firebase
ใน main.dart
import 'package:flutter/material.dart';
import 'package:firebase_core/firebase_core.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
runApp(MyApp());
}
🧪 ตัวอย่าง Login / Register เบื้องต้น
import 'package:firebase_auth/firebase_auth.dart';
Future<void> signUp(String email, String password) async {
try {
await FirebaseAuth.instance.createUserWithEmailAndPassword(
email: email,
password: password,
);
} catch (e) {
print("สมัครไม่สำเร็จ: \$e");
}
}
Future<void> signIn(String email, String password) async {
try {
await FirebaseAuth.instance.signInWithEmailAndPassword(
email: email,
password: password,
);
} catch (e) {
print("เข้าสู่ระบบไม่สำเร็จ: \$e");
}
}
🔐 ตรวจสอบสถานะผู้ใช้
final user = FirebaseAuth.instance.currentUser;
if (user != null) {
print("ล็อกอินอยู่: \${user.email}");
} else {
print("ยังไม่ได้ล็อกอิน");
}
✅ สรุป
- Firebase Auth เป็นวิธีง่ายและปลอดภัยในการเพิ่มระบบล็อกอิน
- ใช้งานผ่าน
firebase_auth
โดยรองรับหลากหลายรูปแบบ - บทนี้เน้น Email/Password ซึ่งเป็นพื้นฐานที่ควรรู้ก่อนต่อยอด
ในบทถัดไป เราจะเชื่อม Firebase Firestore เพื่อจัดเก็บและแสดงข้อมูลผู้ใช้