UNPKG

tl-shared-security

Version:

Enterprise-grade security module for frontend and backend applications with comprehensive protection against XSS, CSRF, SQL injection, and other security vulnerabilities

38 lines 999 B
export interface KeycloakClientConfig { url: string; realm: string; clientId: string; redirectUri?: string; } export interface KeycloakUser { sub: string; preferred_username: string; email?: string; name?: string; roles: string[]; } export declare class KeycloakClient { private config; private token; private refreshToken; private user; private refreshInterval; constructor(config: KeycloakClientConfig); init(): Promise<boolean>; login(): void; logout(): void; getToken(): string | null; getUser(): KeycloakUser | null; hasRole(role: string): boolean; hasAnyRole(roles: string[]): boolean; isAuthenticated(): boolean; refreshTokenIfNeeded(): Promise<boolean>; private startRefreshTimer; private validateToken; private refreshAccessToken; private saveTokens; private parseUserFromToken; private extractRoles; private parseJwt; } //# sourceMappingURL=keycloak-client.d.ts.map