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
TypeScript
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