Authentication & Identity Management
Multi-Provider SSO Integration
Zitadel OIDC Integration
Full OpenID Connect support with Zitadel identity provider, enabling centralized authentication and group-based access control.
PKCE Security Flow
Implements Proof Key for Code Exchange (S256) for secure authentication without client secrets, protecting against authorization code interception attacks.
- PKCE Flow: Uses SHA-256 code challenge method to prevent authorization code interception
- State & Nonce Parameters: Protects against CSRF and replay attacks
- Group Synchronization: Automatically syncs Zitadel groups to local roles at login
- Multi-Organization Support: Configure different SSO providers per organization
src/hooks/useZitadelSSO.ts:33-50 for the complete PKCE implementation.
Role-Based Access Control (RBAC)
The system implements a comprehensive RBAC model with four primary roles:- Global Admin: Full system access, manages organizations and global policies
- Organization Admin: Manages users, resources, and settings within their organization
- Support: Access to user management and troubleshooting tools
- User: Standard access to assigned applications and devices
Users can have both local roles and Zitadel groups. The system checks both when determining access permissions, allowing for flexible hybrid authorization models.
AuthContext Interface
Resource & Application Management
Application Marketplace
Centralized App Distribution
Browse and provision applications from a centralized marketplace with one-click deployment and automatic access provisioning.
- Quick Launch: Single-click application access with automatic authentication
- Group-Based Provisioning: Assign applications to groups for automatic user provisioning
- Usage Tracking: Monitor application usage and session activity
- Resource Metadata: Store connection details, protocols, and access requirements
Device Management
Device Enrollment
Self-service device enrollment with QR codes and enrollment tokens for quick onboarding.
Trust Verification
Continuous device trust verification and compliance checking before granting access.
- Multi-Platform Support: Windows, macOS, Linux, iOS, and Android
- VPN Integration: Netbird and Headscale support for network access
- Device Attestation: Hardware-backed device identity verification
- Session Management: Track and terminate active device sessions
Network Security
Zero Trust Network Access
The portal implements Zero Trust principles with multiple layers of security:Network Isolation
In production deployments, the portal binds exclusively to the Netbird internal network interface, making it inaccessible from the public internet.
Administrative Features
Organization Management
Multi-Tenancy
Support for multiple organizations with isolated data and configurations
Hierarchical Structure
Organization tree view with parent-child relationships and inheritance
- Organization creation and management
- User assignment to organizations
- Resource isolation by organization
- Custom branding per organization (future)
- Organization-specific policies and configurations
Audit Logging
Comprehensive audit logging captures all security-relevant events:- User authentication and authorization events
- Resource access grants and revocations
- Administrative actions (user creation, role changes)
- SSO configuration changes
- Device enrollment and trust events
Audit Log Entry
/audit.
Group Management
Flexible Group System
Create groups for organizing users and controlling access to applications and resources.
- Application Assignment: Assign apps to groups for bulk provisioning
- Resource Access: Grant resource access to entire groups
- Zitadel Mapping: Map Zitadel groups to local groups for SSO integration
- Dynamic Membership: Users automatically inherit group permissions
src/components/AppSidebar.tsx:62-64 for group-based UI filtering implementation.
Infrastructure Integration
Cloud Provider Support
Integrate with major cloud providers for resource provisioning:- AWS: EC2, RDS, S3 bucket access management
- Azure: Virtual machines, databases, storage accounts
- Google Cloud: Compute Engine, Cloud SQL access
- Custom Hypervisors: Support for VMware, Proxmox, KVM
VPN Management
Netbird Integration
Mesh VPN with automatic peer discovery and NAT traversal for secure network access.
Headscale Support
Self-hosted Tailscale control server for private mesh networking.
- Automatic network provisioning
- Device registration and key management
- Access control list (ACL) synchronization
- Network topology visualization
Session Management
Real-time session monitoring and control:- Active Sessions: View all active user sessions across devices
- Session Termination: Remotely terminate sessions for security
- Session History: Track historical session data for compliance
- Idle Timeout: Automatic session expiration after inactivity
Session Interface
Technology Stack
React 18
Modern UI with hooks and concurrent features
TypeScript
Type-safe development with full IDE support
Supabase
PostgreSQL backend with real-time subscriptions
Tailwind CSS
Utility-first styling with custom design system
shadcn/ui
Accessible component library built on Radix UI
React Query
Powerful data synchronization and caching
- Frontend: React 18 with TypeScript for type safety
- Build Tool: Vite for fast development and optimized builds
- UI Components: shadcn/ui with Radix UI primitives
- Styling: Tailwind CSS with custom design tokens
- Backend: Supabase (PostgreSQL + Edge Functions)
- State Management: React Query for server state
- Routing: React Router v6 with nested layouts
- Forms: React Hook Form with Zod validation
package.json for complete dependency list.
Security Features
Comprehensive Security Model
Additional security features:
- Token Handling: No tokens stored in localStorage, only Supabase sessions
- CORS Protection: Strict CORS policies on edge functions
- SQL Injection Prevention: Parameterized queries via Supabase client
- XSS Protection: React’s built-in XSS protection with sanitization
- CSRF Protection: State parameters on all OAuth flows
Next Steps
Architecture Overview
Learn about the system architecture and components
Getting Started
Set up your first deployment
Configuration Guide
Configure SSO, VPN, and integrations
API Reference
Explore the REST and GraphQL APIs