Authentication (Xác thực)

Đảm bảo chỉ người dùng/dịch vụ hợp lệ mới được phép truy cập - trả lời câu hỏi “bạn là ai?“. Ngăn truy cập trái phép và rò rỉ dữ liệu.

Các phương pháp

  • Đăng nhập + mật khẩu - truyền thống nhất. Mật khẩu phải lưu dạng hash + salt trên server, không bao giờ plaintext → Bảo vệ dữ liệu.
  • MFA/2FA (đa yếu tố) - yêu cầu ≥ 2 yếu tố (mật khẩu + OTP qua SMS/app). Ngân hàng thường bắt OTP cho giao dịch quan trọng.
  • Session - sau đăng nhập, server tạo session, lưu ID phiên (thường trong cookie). Stateful (lưu trạng thái trên server), dễ revoke khi logout/timeout.
  • JWT (JSON Web Token) - token tự chứa (header + payload + signature), có ký số. Client dùng để xác thực các request sau mà server không cần lưu trạng thái. Gọn, hợp microservices. Nhưng: payload chỉ ký chứ không mã hóa (đừng lưu dữ liệu nhạy cảm), và khó hủy giữa chừng nếu bị đánh cắp (phải chờ hết hạn).

Session vs JWT

Session (stateful, dễ hủy, an toàn hơn cho quản lý phiên linh hoạt) vs JWT (stateless, gọn, mở rộng tốt cho hệ thống lớn nhưng khó revoke).

Liên quan