Xác thực & phân quyền tập trung cho toàn hệ sinh thái
Nền tảng định danh số database-per-tenant với OpenIddict/OAuth 2.0. SSO, MFA, RBAC, API keys, audit log — một điểm truy cập cho mọi dịch vụ SPS.
Bắt đầu ngay
Tình huống thực tế
Các tình huống thực tế minh hoạ cách sản phẩm vận hành.
01
Đăng nhập một lần (SSO) xuyên suốt
Nhân viên đăng nhập vào Portal, sau đó truy cập Trust Invoices và các ứng dụng khác mà không cần nhập lại mật khẩu. Phiên làm việc được đồng bộ giữa các ứng dụng.
02
Phân quyền chi tiết đến từng thao tác
Chủ doanh nghiệp tạo tài khoản cho nhân viên mới, gán vai trò "Thu ngân" với quyền chỉ xem và tạo hóa đơn — không thể sửa giá, không thể xem báo cáo tài chính.
03
Quản lý tenant & thương hiệu
Mỗi doanh nghiệp là một tenant riêng với database riêng. Họ tự tùy chỉnh logo, màu sắc, domain, email template, chính sách mật khẩu và thuộc tính người dùng.
04
Platform admin & lead pipeline
Admin SPS theo dõi toàn bộ tenant, quản lý lead pipeline (New → Contacted → ContractSigned → TenantCreated), tạo role template, xuất báo cáo và gửi announcement.
Khám phá module
Đi sâu vào từng module và khả năng của nó.
Xác thực
- Email/Password + ASP.NET Core Identity lockout (5 lần, 15 phút)
- OpenID Connect / OAuth 2.0 (Authorization Code + PKCE)
- Single Sign-On (SSO) xuyên ứng dụng
- Google Social Login (invite-only)
- API Keys (spk_ user-scoped, spu_ tenant-scoped)
- Login bằng số điện thoại
An ninh
- MFA (Multi-Factor Authentication)
- Quản lý phiên: thiết bị, IP, geo, location
- Thu hồi phiên (cá nhân hoặc tất cả)
- Force đổi mật khẩu
- Rate limiting
- IP whitelist theo tenant
RBAC & Permissions
- 29+ mã permission (users.*, roles.*, apps.*, audit.*, ...)
- Role CRUD + permission assignment (checkbox grid)
- PermissionGuard component + usePermission() hook
- System roles: SystemAdmin, TenantOwner, Member
- Role templates dùng lại
Tenant Management
- Database-per-tenant hoàn toàn
- Custom domain / subdomain / X-Tenant-Id
- Branding: logo, màu sắc, login background, favicon
- Email templates (invitation, verification, password reset)
- Password policy riêng
- Custom user attributes
- Feature flags
Platform Admin
- Quản lý xuyên tenant (CRUD, suspend, archive, delete)
- Lead/CRM pipeline (New → Contacted → Negotiating → ContractSigned → Rejected)
- Role templates + export center (CSV/Excel)
- Platform announcements
- Dashboard tổng quan: users, roles, apps, invitations, sessions, API keys
Audit & Sessions
- 30+ audit actions (MediatR pipeline behavior)
- Old/new value diffs (JSONB)
- Filterable: date range, action type, entity, user
- CSV export
- Configurable retention (default 90 days)
- Session tracking: browser, OS, IP, device, location, last active
User Management
- Invitation role-based (email token)
- Bulk operations
- Custom attributes per tenant
- User provisioning API
- Import users
- Announcements & in-app notifications
OAuth Applications
- Register/manage OpenID Connect apps per-tenant
- Confidential & Public client types
- Client ID + Client Secret (shown once)
- Redirect URIs & Post-logout Redirect URIs
- Custom grants: select-tenant, switch-tenant
Ảnh chụp màn hình
Hình ảnh trực quan các giao diện chính.

Dashboard tổng quan
KPI: users, roles, OAuth apps, pending invitations, active sessions, API keys — tất cả trên một màn hình.
Quản lý tenant
Chi tiết tenant: thông tin công ty, branding, domain, members, security policy, feature flags.
Gán quyền (Permission grid)
Giao diện checkbox grid nhóm theo module, gán quyền cho role một cách trực quan.
Audit Log
Danh sách audit chi tiết: người dùng, hành động, thay đổi (old/new value), bộ lọc thời gian.Công nghệ nổi bật
Kiến trúc và công nghệ vận hành sản phẩm.
Clean Architecture + CQRS + MediatR
.NET 9, ASP.NET Core, OpenIddict, EF Core 9
React 18, TypeScript, Vite, MUI, TailwindCSS
PostgreSQL (Central DB + DB-per-tenant)
OpenID Connect / OAuth 2.0 (Authorization Code + PKCE + Client Credentials + Custom Grant)
RabbitMQ/MassTransit (tenant provisioning)
OpenTelemetry, Serilog, Grafana (Loki + Tempo)
MFA, RBAC, IP whitelist, API keys, session tracking, audit log