Ba JWT + RBAC trong Fastify: Những gì tôi thực sự đã ship
Hầu hết các tutorial về JWT chỉ cho bạn thấy một token duy nhất, một route đăng nhập, rồi coi như xong. Dự án thực tế cần nhiều hơn thế: refresh token mà không cần đăng nhập lại, buộc đổi mật khẩu cho tài khoản mới, và hệ thống kiểm soát truy cập theo vai trò mà không sụp đổ khi yêu cầu trở nên phức tạp.
Gần đây tôi đã ship lớp xác thực cho một dự án cá nhân — backend quản trị cho một game RPG cộng đồng. Ba vai trò (Admin, Game Master, Moderator), một cây phân quyền lồng nhau bao gồm quản lý người chơi và nội dung game, cùng quy trình buộc đổi mật khẩu cho các GM mới được thêm vào. Đây là cách triển khai thực tế trông như thế nào trong Fastify + Drizzle ORM.
