Quản lý Người dùng Phase A In-progress
Vòng đời tài khoản, xác thực và truy cập theo phạm vi vai trò cho mọi loại người dùng — operator nội bộ, chủ doanh nghiệp, nhân viên cửa hàng và khách hàng. Đây là nền tảng của nền tảng: mọi module khác đều tin cậy danh tính và phạm vi mà module này cấp.
1. Định danh
| Thuộc tính | Giá trị |
|---|---|
| Mã module | CORE-01 |
| Tier | Core |
| Trạng thái | In-progress |
| Phase | P1 (auth + owner) đã phát hành · P2 (employee + customer) đang thực hiện |
| Mức ưu tiên | HIGH |
| Người dùng chính | Owner · Cashier · Employee · Customer · Operator nội bộ (Super Admin / Admin / Operator) |
2. Mục đích & Phạm vi
| Bao gồm | Loại trừ |
|---|---|
| Đăng ký, đăng nhập (username / email / phone + mật khẩu) | OAuth / đăng nhập bên thứ ba (đã định nghĩa scheme, chưa có provider) |
| Đổi mật khẩu + đặt lại mật khẩu quên | Thu hồi phiên / đăng xuất từ xa (JWT phi trạng thái) |
| Xác minh email & điện thoại qua OTP | Bắt buộc xác thực hai yếu tố (đã định nghĩa scheme, chưa bắt buộc) |
| Hồ sơ người dùng, định danh và cài đặt theo từng người dùng | Tạo vai trò tùy chỉnh → Quyền hạn |
| Vòng đời nhân viên + gán merchant | Mời người dùng |
| Vòng đời khách hàng + nâng cấp thành người dùng | Truy cập nhiều tổ chức cho một người dùng |
| Tám vai trò cố định + lọc dữ liệu theo phạm vi vai trò | Lịch sử kiểm toán / đăng nhập |
3. Năng lực
| Năng lực | Người dùng có thể làm gì | Trạng thái |
|---|---|---|
| Đăng ký | Tạo tài khoản với username + mật khẩu; hồ sơ, định danh và cài đặt mặc định được tạo cùng nhau | Built |
| Đăng nhập | Xác thực bằng bất kỳ định danh đã xác minh + mật khẩu; nhận token phiên theo phạm vi | Built |
| Đổi mật khẩu | Xác minh mật khẩu hiện tại, rồi đặt mật khẩu mới | Built |
| Quên mật khẩu | Đặt lại mật khẩu đã quên qua OTP (yêu cầu → xác minh mã → đặt mới) | Built |
| Xác minh email / điện thoại | Xác minh định danh email hoặc điện thoại bằng mã dùng một lần | Built |
| Liên kết tài khoản | Thêm một email hoặc điện thoại đã xác minh vào tài khoản hiện có | Built |
| Hồ sơ & định danh người dùng | Quản lý tên, ngày sinh, locale và nhiều email / điện thoại | Built |
| Cài đặt theo từng người dùng | Cài đặt mặc định tự tạo khi đăng ký; người dùng có thể đọc / cập nhật | Built |
| Vai trò cố định & phân phạm vi | Tám vai trò hệ thống; thao tác list / count được lọc theo phạm vi của người gọi | Built |
| Quản lý nhân viên | Chủ sở hữu tạo, gán vào merchant, cập nhật, vô hiệu hóa, gỡ nhân viên | In-progress |
| Quản lý khách hàng | Chủ sở hữu tạo / cập nhật / soft-delete khách hàng; nâng cấp khách hàng bán hàng thành người dùng đầy đủ | In-progress |
| Xác thực hai yếu tố | Scheme thông tin xác thực đã có; chưa xây phần bắt buộc | Planned |
| Đăng nhập OAuth | Scheme thông tin xác thực đã có; chưa xây luồng đăng nhập | Planned |
Khoảng trống đã biết (trung thực về trạng thái): xác minh email khi đăng ký hiện đang bị tắt trong mã, nên một tài khoản mới đăng ký có thể không đăng nhập được bằng email cho đến khi xác minh qua một luồng riêng; tài khoản khách hàng được tạo không có thông tin xác thực, nên chưa thể đăng nhập. Xem tài liệu developer để biết chi tiết.
4. Phụ thuộc Module
| Phụ thuộc vào | Lý do |
|---|---|
| Quyền hạn | Vai trò, quyền hạn và cạnh chính sách định nghĩa mỗi người dùng được làm gì |
| Commerce | Chủ sở hữu và nhân viên thuộc về tổ chức; nhân viên và khách hàng giới hạn theo merchant |
| CRM | Tài khoản khách hàng cấp dữ liệu cho quản lý quan hệ khách hàng |
5. Backend Packages
Chi tiết triển khai nằm trong tài liệu developer — phần này chỉ ánh xạ module tới các service vận hành nó.
| Package | Vai trò | Tài liệu developer |
|---|---|---|
@nx/identity | JWKS issuer (ES256); sở hữu users, credentials, identifiers, roles, employees, customers, OTP | identity |
Đào sâu tính năng: Xác thực · Quản lý Người dùng · Quản lý Khách hàng · RBAC · MFA & OTP.
6. Luồng Người dùng Chính
Đăng nhập
Đăng ký & onboarding
Vòng đời nhân viên
7. Vai trò & Quyền hạn
Tám vai trò hệ thống cố định, sắp xếp theo mức ưu tiên. Chúng được seed sẵn và không thể sửa hoặc xóa. Vai trò tùy chỉnh nằm ngoài phạm vi ở đây — xem Quyền hạn.
| Vai trò | Loại | Phạm vi | Có thể | Không thể |
|---|---|---|---|---|
| Super Admin | Nội bộ | Toàn hệ thống | Mọi thứ; bỏ qua mọi bộ lọc dữ liệu | — |
| Admin | Nội bộ | Toàn hệ thống | Mọi thứ; bỏ qua mọi bộ lọc dữ liệu | — |
| Operator | Nội bộ | Toàn hệ thống | Thao tác nền tảng tập trung đọc | Thay đổi ngoài phạm vi hỗ trợ |
| Owner | Bên ngoài | Tổ chức của mình | Quản lý tổ chức của mình và mọi merchant, nhân viên, khách hàng | Đụng tới tổ chức khác |
| Cashier | Bên ngoài | Merchant được gán | Vận hành merchant được gán (cùng tier với Employee) | Truy cập merchant chưa được gán |
| Employee | Bên ngoài | Merchant được gán | Chỉ vận hành merchant được gán | Truy cập merchant chưa được gán |
| Customer | Bên ngoài | Tổ chức liên kết | Truy cập theo phạm vi khách hàng | Vận hành cửa hàng |
| Guest | Bên ngoài | Toàn cục | Truy cập kiểu chưa xác thực | Bất kỳ quyền backend nào (ưu tiên thấp nhất) |
Quy tắc: một người dùng không bao giờ có thể tạo, cấp hoặc quản lý vai trò có mức ưu tiên bằng hoặc cao hơn vai trò của chính mình.
8. Trạng thái & Lộ trình
| Phase | Năng lực |
|---|---|
| P1 | Đăng ký / đăng nhập, đổi & đặt lại mật khẩu, OTP email/điện thoại, hồ sơ & định danh, cài đặt theo từng người dùng, vai trò cố định & phân phạm vi, tự gán Owner |
| P2 | Vòng đời nhân viên + gán merchant, vòng đời khách hàng + nâng cấp thành người dùng, vòng đời trạng thái người dùng đầy đủ, lọc dữ liệu theo vai trò |
| P3 | Tạo vai trò tùy chỉnh (→ Quyền hạn), đăng nhập OAuth / bên thứ ba, bắt buộc xác thực hai yếu tố, lịch sử đăng nhập, thu hồi phiên, mời người dùng, đa tổ chức |
9. Trang Liên quan
- URD
- Test Cases
- PRDs
- Quyền hạn — vai trò & kiểm soát truy cập
- Commerce — tổ chức & merchant
- Tài liệu developer Identity