@rkosafo/cai.components
Version:
This package is under development and not ready for public use.
37 lines (36 loc) • 1.16 kB
TypeScript
import type { AuthUserInfo, FetchAuthUserInfoFn, KeycloakConfig } from './index.js';
export declare function createAuthStore(): {
isLoading: boolean;
isAuthenticated: boolean;
accessToken: string;
idToken: string;
userInfo: AuthUserInfo | null;
authError: string;
userIsFound: boolean;
};
export type AuthStoreType = ReturnType<typeof createAuthStore>;
export interface AuthenticatedData {
keycloakUser: AuthUserInfo;
queryUser: AuthUserInfo | any;
}
export declare class KeycloakService {
private keycloak;
private initialized;
private store;
private fetchUserInfo;
private onAuthenticated?;
private onLogout?;
private onError?;
constructor(store: AuthStoreType, fetchUserInfo: FetchAuthUserInfoFn, callbacks?: {
onAuthenticated?: (val: AuthenticatedData) => void;
onLogout?: () => void;
onError?: (error: string) => void;
});
init(config: KeycloakConfig, initOptions?: any): Promise<void>;
private setTokenDetails;
login(): void;
refreshToken(): Promise<void>;
logout(): void;
getKeycloakInstance(): any;
isInitialized(): boolean;
}