2024–2025
Xác thực hai lớp cho CRM đại lý
Vexere.com · Full-stack Developer · Giữ xác thực danh tính 99% cho hàng trăm user AMS
Vấn đề
Agent Management System là CRM đại lý và vận hành dùng cho booking, cấu hình thanh toán và dữ liệu khách. Chỉ cần mật khẩu là vào được. Cần thêm một lớp xác thực mà không làm đăng nhập hàng ngày mệt.
Phần tôi làm
UI đăng nhập nhiều bước và OTP API: tạo mã, xác thực, nhớ thiết bị, và thu hồi tin cậy thiết bị.
Kiến trúc
Đăng nhập không còn cấp session đầy đủ chỉ với mật khẩu. API trả token tạm, rồi OTP 6 số gửi SMS hoặc email. Redis giữ mã với TTL 30 phút, hết hạn không cần ghi database.
OTP email chỉ dành cho đối tác B2B quốc tế; hầu hết đại lý chỉ nhận SMS. "Nhớ thiết bị này" lưu token ngẫu nhiên kèm fingerprint User-Agent trên Redis. Token bị đánh cắp dùng trên browser khác trượt fingerprint và bị thu hồi.
UI là state machine có chặn: đăng nhập, chọn kênh, nhập OTP, rồi dashboard. Không nhảy cóc được.
Kết quả
Xác thực danh tính giữ 99%+ cho user doanh nghiệp của line này. User thường không bị hỏi OTP mỗi ngày từ laptop đã tin cậy.