Dev to webs {Coding…}

ร บทเรียนฟรีด้านการพัฒนาซอฟต์แวร์ ที่ครอบคลุมเนื้อหาหลากหลาย ตั้งแต่การเขียนโค้ดพื้นฐานไปจนถึงเทคนิคขั้นสูง

บทที่ 5: การใช้งาน Firebase Authentication

🔖 หมวดบทเรียน: การจัดการระบบล็อกอินผู้ใช้ด้วย Firebase

📌 เหมาะสำหรับ: ผู้ที่ต้องการสร้างระบบล็อกอิน สมัครสมาชิก และจัดการผู้ใช้ในแอป

🎯 เป้าหมาย: เข้าใจการใช้ Firebase Authentication สำหรับ Email/Password login บน Flutter

🧭 เกริ่นนำ

Firebase Authentication เป็นระบบล็อกอินที่ปลอดภัยและใช้งานง่าย รองรับหลายรูปแบบ เช่น Email/Password, Google, Facebook, Apple ฯลฯ ในบทนี้เราจะเริ่มต้นจาก Email/Password ซึ่งเป็นพื้นฐานที่ใช้ได้ทั่วไปและง่ายต่อการเรียนรู้

🔧 เตรียมโปรเจกต์ Firebase

  1. ไปที่ https://console.firebase.google.com
  2. สร้างโปรเจกต์ใหม่ → เพิ่ม Android/iOS App
  3. เปิดใช้งาน 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 เพื่อจัดเก็บและแสดงข้อมูลผู้ใช้