sdk-simple-auth
Version:
Universal JavaScript/TypeScript authentication SDK with multi-backend support, automatic token refresh, and React integration
77 lines • 2.09 kB
TypeScript
import { AuthTokens, AuthUser, AuthConfig } from '../types';
import { StorageAdapter } from '../storage/StorageAdapter';
/**
* Enhanced StorageManager with session persistence and automatic cleanup
*/
export declare class StorageManager {
private storageAdapter;
private config;
constructor(config: Required<AuthConfig>['storage']);
private createStorageAdapter;
/**
* Store tokens with enhanced metadata for session management
*/
storeTokens(tokens: AuthTokens): Promise<void>;
/**
* Store user information with session tracking
*/
storeUser(user: AuthUser): Promise<void>;
/**
* Retrieve stored tokens with validation and cleanup
*/
getStoredTokens(): Promise<AuthTokens | null>;
/**
* Retrieve stored user information
*/
getStoredUser(): Promise<AuthUser | null>;
/**
* Get token metadata for validation and session management
*/
getTokenMetadata(): Promise<{
storedAt?: number;
lastRefreshed?: number;
sessionId?: string;
version?: string;
} | null>;
/**
* Update last refresh timestamp when tokens are renewed
*/
updateLastRefreshTime(): Promise<void>;
/**
* Clear only token storage
*/
clearTokens(): Promise<void>;
/**
* Clear only user storage
*/
clearUser(): Promise<void>;
/**
* Clear all authentication storage
*/
clearAll(): Promise<void>;
/**
* Check if storage contains valid session data
*/
hasValidSession(): Promise<boolean>;
/**
* Generate unique session ID
*/
private generateSessionId;
/**
* Get current session ID
*/
private getCurrentSessionId;
/**
* Migrate from old storage format to new format
*/
migrateStorage(): Promise<void>;
/**
* Get storage adapter for advanced operations
*/
getAdapter(): StorageAdapter;
/**
* Get storage configuration
*/
getConfig(): Required<AuthConfig>['storage'];
}
//# sourceMappingURL=StorageManager.d.ts.map