Expand description
§User ID Value Object - Authentication and Authorization Infrastructure
This module provides a comprehensive user identifier value object that implements type-safe user authentication, authorization management, and identity validation for the adaptive pipeline system’s security infrastructure.
§Overview
The user ID system provides:
- Type-Safe User Authentication: Strongly-typed user identifiers with validation
- Authorization Management: User-specific permission checking and access control
- Identity Validation: Comprehensive format validation and constraint enforcement
- Cross-Platform Compatibility: Consistent representation across languages and systems
- Serialization: Comprehensive serialization across storage backends and APIs
- Security Features: Audit trails, user classification, and domain management
§Key Features
§1. Type-Safe User Authentication
Strongly-typed user identifiers with comprehensive validation:
- Compile-Time Safety: Cannot be confused with other string types
- Domain Semantics: Clear intent in function signatures and APIs
- Runtime Validation: User-specific validation rules
- Future Evolution: Extensible for user-specific methods
§2. Authorization Management
User-specific permission checking and access control:
- User Classification: System, admin, regular user identification
- Domain Management: Email domain-based access control
- Permission Checking: User-specific authorization rules
- Audit Trails: Clear user action tracking and accountability
§3. Cross-Platform Compatibility
Consistent user identification across platforms:
- JSON Serialization: Standard JSON representation
- Database Storage: Optimized database storage patterns
- API Integration: RESTful API compatibility
- Multi-Language: Consistent interface across languages
§Usage Examples
§Basic User ID Creation and Validation
§User Classification and Authorization
§User ID Format Detection and Validation
§User Management and Utilities
§Security and Audit Features
§User ID Features
§User ID Formats
User IDs support multiple authentication formats:
- Email:
user@domain.com(most common, normalized to lowercase) - Username:
username123(alphanumeric with underscores and hyphens) - UUID:
550e8400-e29b-41d4-a716-446655440000(standard UUID format) - System:
system-backup(automatically prefixed system accounts) - API:
api-webhook(automatically prefixed API accounts)
§User Classification
- Regular Users: Standard email or username-based users
- Admin Users: Users with admin privileges (contains ‘admin’ or ends with ‘-admin’)
- System Users: Service accounts (prefixed with ‘system-’, ‘service-’, ‘bot-’, or ‘api-’)
- UUID Users: Users identified by UUID (typically for anonymous or temporary access)
§Authorization Features
- Domain-Based Access: Email domain-based authorization and filtering
- User Type Classification: Automatic classification for permission systems
- Admin Detection: Automatic detection of administrative users
- System Account Management: Special handling for service and system accounts
§Performance Characteristics
- Creation Time: ~2μs for new user ID creation with validation
- Validation Time: ~5μs for comprehensive format validation
- Classification Time: ~1μs for user type determination
- Domain Extraction: ~1μs for email domain extraction
- Memory Usage: ~24 bytes + string length for user ID storage
- Thread Safety: Immutable access patterns are thread-safe
§Cross-Platform Compatibility
- Rust:
UserIdnewtype wrapper with full validation - Go:
UserIDstruct with equivalent interface - JSON: String representation for API compatibility
- Database: TEXT column with validation constraints
Modules§
- user_
id_ utils - Utility functions for user ID operations
Structs§
- UserId
- User identifier value object for type-safe authentication and authorization
Enums§
- User
Type - User type classification