Các nguyên tắc quan trọng khi triển khai đăng nhập, session, OAuth và phân quyền trong ứng dụng Next.js.
Một hệ thống auth tốt cần xử lý danh tính, session, phân quyền và các tình huống lỗi một cách nhất quán. Nếu bỏ qua chi tiết nhỏ, rủi ro bảo mật có thể xuất hiện rất nhanh.
Password phải được hash bằng thuật toán phù hợp như bcrypt hoặc argon2. Không bao giờ lưu plain text password hoặc log password ra console.
Session cần có thời hạn, cookie nên bật httpOnly và secure trong production. Với dashboard admin, hãy kiểm tra quyền ở server thay vì chỉ ẩn UI ở client.
OAuth giúp giảm ma sát đăng nhập nhưng cần cấu hình callback URL và secret cẩn thận. Hãy kiểm tra luồng liên kết account để tránh tạo nhiều user trùng email.
Cách quyết định phần nào nên chạy ở server, phần nào cần client state, event handler hoặc browser API.
Các rủi ro phổ biến của file upload và cách giảm thiểu bằng validate, giới hạn kích thước, scan và storage policy.
Những quyết định quan trọng khi xây admin CMS: form, preview, quyền truy cập, trạng thái publish và media.