sdk-simple-auth
Version:
Universal JavaScript/TypeScript authentication SDK with multi-backend support, automatic token refresh, and React integration
100 lines • 3.08 kB
TypeScript
import { AuthTokens, AuthUser } from '../types';
/**
* Enhanced TokenExtractor with flexible data preservation
* Mantiene todos los datos originales del backend sin pérdida de información
*/
export declare class TokenExtractor {
private static readonly TOKEN_KEYS;
private static readonly REFRESH_TOKEN_KEYS;
private static readonly EXPIRES_KEYS;
private static readonly TOKEN_TYPE_KEYS;
private static readonly USER_SEARCH_PATHS;
private static searchCache;
private static readonly CACHE_TTL;
/**
* Búsqueda profunda optimizada con paths específicos
*/
private static deepSearchByPaths;
/**
* Extrae datos de usuario desde la raíz del objeto
*/
private static extractFromRoot;
/**
* Obtiene valor anidado usando dot notation
*/
private static getNestedValue;
/**
* Genera una signatura única del objeto para cache
*/
private static generateObjectSignature;
/**
* Búsqueda mejorada de campos específicos
*/
private static enhancedDeepSearch;
/**
* Normalización mejorada de tiempo de expiración con soporte para múltiples formatos
*/
private static normalizeExpirationTime;
/**
* Extracción mejorada de tokens con soporte para múltiples formatos
*/
static extractTokens(response: any): AuthTokens & {
_originalTokenResponse?: any;
};
/**
* Extracción de tiempo de expiración mejorada
*/
private static extractExpirationTime;
/**
* Extracción flexible de usuario con preservación completa de datos
*/
static extractUser(response: any): (AuthUser & {
_originalUserResponse?: any;
_backendType?: string;
}) | null;
/**
* Mapea campos de usuario a formato estándar
*/
private static mapToStandardUser;
/**
* Construye el nombre completo del usuario
*/
private static buildUserName;
/**
* Busca un campo usando múltiples nombres posibles
*/
private static findUserField;
/**
* Extrae permisos en formato array
*/
private static extractPermissions;
/**
* Preserva campos que no están en el mapping estándar
*/
private static preserveUnmappedFields;
/**
* Detecta el tipo de backend basado en la estructura de respuesta
*/
private static detectBackendType;
/**
* Construye usuario desde campos dispersos cuando no hay estructura clara
*/
private static buildUserFromScatteredFields;
/**
* Parsea información de usuario desde JWT token
*/
private static parseUserFromToken;
/**
* Método de debug mejorado con más información
*/
static debugResponse(response: any, depth?: number): void;
/**
* Limpiar cache (llamar periódicamente para evitar memory leaks)
*/
static clearCache(): void;
/**
* Test de extracción con diferentes formatos
*/
static testExtraction(response: any): void;
}
//# sourceMappingURL=TokenManager_Enhanced.d.ts.map