/** * Unified Authentication Manager * * Central authentication coordinator that manages multiple authentication providers, * credential storage, token caching, and provides a unified interface for all auth operations */ /// import { EventEmitter } from "events"; import { UnifiedAuthConfig, AuthProvider, AuthCredentials, AuthenticationResult, RefreshTokenResult, ValidationResult, AuthContext, SecurityContext, AuthEventHandler, AuthMetrics, AuthProviderType, AuthStatus } from "../../types/auth.js"; /** * Authentication session */ interface AuthSession { id: string; context: AuthContext; securityContext?: SecurityContext; createdAt: number; lastActivity: number; refreshCount: number; status: AuthStatus; } /** * Unified Authentication Manager */ export declare class UnifiedAuthManager extends EventEmitter { private config; private logger; private storage; private cache; private providers; private sessions; private eventHandlers; private tokenRefreshInterval?; private sessionCleanupInterval?; private metricsInterval?; private metrics; constructor(config: UnifiedAuthConfig); /** * Authenticate using specified provider */ authenticate(providerType: AuthProviderType, options?: any): Promise; /** * Refresh credentials for a session */ refreshCredentials(sessionId: string): Promise; /** * Validate credentials for a session */ validateCredentials(sessionId: string): Promise; /** * Get credentials for a session (with automatic refresh if needed) */ getCredentials(sessionId: string, autoRefresh?: boolean): Promise; /** * Revoke credentials and end session */ revokeCredentials(sessionId: string): Promise; /** * List active sessions */ getActiveSessions(): string[]; /** * Get session information */ getSession(sessionId: string): AuthSession | null; /** * Register custom authentication provider */ registerProvider(type: AuthProviderType, provider: AuthProvider, config?: any, options?: { enabled?: boolean; priority?: number; }): void; /** * Unregister authentication provider */ unregisterProvider(type: AuthProviderType): void; /** * Enable/disable provider */ setProviderEnabled(type: AuthProviderType, enabled: boolean): void; /** * Get available providers */ getAvailableProviders(): AuthProviderType[]; /** * Add event handler */ addEventHandler(handler: AuthEventHandler): void; /** * Remove event handler */ removeEventHandler(handler: AuthEventHandler): void; /** * Get authentication metrics */ getMetrics(): AuthMetrics; /** * Force cleanup of expired sessions */ cleanup(): Promise; /** * Shutdown auth manager and cleanup resources */ shutdown(): Promise; /** * Initialize built-in providers */ private initializeProviders; /** * Set up event forwarding from storage and cache */ private setupEventForwarding; /** * Start background maintenance tasks */ private startBackgroundTasks; /** * Check for tokens that need refresh */ private checkTokenRefresh; /** * Update internal metrics */ private updateMetrics; /** * Create new authentication session */ private createSession; /** * Store credentials using storage backend */ private storeCredentials; /** * Cache credentials for fast access */ private cacheCredentials; /** * Get provider for specific credentials */ private getProviderForCredentials; /** * Map credentials to provider type */ private getProviderTypeFromCredentials; /** * Generate unique session ID */ private generateSessionId; /** * Update authentication metrics */ private updateAuthMetrics; /** * Emit authentication event to handlers */ private emitAuthEvent; /** * Create standardized auth error */ private createAuthError; } export {}; //# sourceMappingURL=unified-auth-manager.d.ts.map