Complete guide for configuring and using the NextSaaS admin system.
The admin system provides platform-wide management capabilities including user management, organization oversight, analytics, security monitoring, and system configuration.
Add admin configuration to your .env.local:
# Admin System
ENABLE_ADMIN_FEATURES=true
SUPER_ADMIN_EMAIL=your-email@example.com # Replace with your email
# Optional Configuration
ADMIN_SESSION_TIMEOUT=3600 # 1 hour
ADMIN_REQUIRE_2FA=false # Set true for productionRun the admin setup script:
npm run admin:setupThis will:
- Create your super admin account using
SUPER_ADMIN_EMAIL - Grant full admin permissions
- Initialize admin audit logging
- Sign in with your super admin email
- Navigate to
/adminto access the dashboard - All admin routes are under
/admin/*
- View all platform users
- Suspend/activate accounts
- View user activity and organizations
- Access user impersonation (use with caution)
- Monitor all organizations
- View organization metrics
- Manage organization settings
- Handle organization disputes
- Platform-wide usage metrics
- User growth and engagement
- Revenue and subscription analytics
- Performance monitoring
- View all admin actions
- Monitor security events
- Access audit logs
- Configure security settings
- System-wide email campaigns
- Email template management
- Delivery monitoring
- Bulk email operations
- Platform revenue overview
- Subscription management
- Payment processing monitoring
- Billing dispute resolution
- Platform configuration
- Feature flag management
- System maintenance
- Environment settings
Admin permissions are automatically granted to super admins:
admin:access_dashboard- Dashboard accessadmin:manage_users- User managementadmin:manage_organizations- Organization oversightadmin:view_analytics- Analytics accessadmin:manage_billing- Billing managementadmin:manage_email- Email systemadmin:manage_security- Security configurationadmin:view_audit_logs- Audit log accessadmin:manage_system- System settings
All admin actions are automatically logged with:
- Admin user ID and email
- Action performed
- Target resources
- Timestamp and IP address
- User agent information
- Admin routes protected by middleware
- System admin verification required
- Session timeout for security
- Optional IP whitelisting
- Optional 2FA requirement
- Failed login attempt tracking
- Suspicious activity detection
- Real-time security alerts
- Comprehensive audit trails
For production deployments, enhance security:
# Enhanced Security
ADMIN_REQUIRE_2FA=true
ADMIN_SESSION_TIMEOUT=1800 # 30 minutes
ADMIN_IP_WHITELIST="your-office-ip/32"
# Audit Configuration
ADMIN_AUDIT_RETENTION_DAYS=365
ADMIN_AUDIT_EXPORT_ENABLED=true
# Performance
ADMIN_ITEMS_PER_PAGE=50
ADMIN_ENABLE_QUERY_CACHING=true# Setup admin system
npm run admin:setup
# Create additional admin
npm run admin:create-user <email>
# Revoke admin access
npm run admin:revoke <email>
# Export audit logs
npm run admin:export-audit [days]
# Verify admin setup
npm run admin:verifyCannot access admin routes
# Verify super admin account
npm run admin:verify
# Check environment variables
grep SUPER_ADMIN_EMAIL .env.localAdmin middleware errors
# Rebuild auth package
cd packages/auth && npm run build
# Restart development server
npm run devMissing admin data
# Re-run admin setup
npm run admin:setup
# Check database migrations
npm run db:status- Limit Admin Access: Only grant to essential personnel
- Regular Audits: Review admin actions monthly
- Secure Environment: Use strong passwords and 2FA
- Monitor Activity: Watch for unusual admin behavior
- Backup Data: Regular admin data backups
- Document Changes: Log significant admin configuration changes
Admin functions are also available via API:
import { AdminClient } from '@nextsaas/admin'
const admin = new AdminClient()
// Get user list
const users = await admin.users.list()
// Suspend user
await admin.users.suspend(userId)
// Get organization metrics
const metrics = await admin.organizations.getMetrics()See the Admin API Documentation for complete reference.