keycloak-angular
Version:
Easy Keycloak setup for Angular applications
39 lines (38 loc) • 1.67 kB
TypeScript
import { HttpHeaders } from '@angular/common/http';
import { Observable, Subject } from 'rxjs';
import * as Keycloak_ from 'keycloak-js';
export declare const Keycloak: typeof Keycloak_;
import { ExcludedUrlRegex, KeycloakOptions } from '../interfaces/keycloak-options';
import { KeycloakEvent } from '../interfaces/keycloak-event';
export declare class KeycloakService {
private _instance;
private _userProfile;
private _enableBearerInterceptor;
private _silentRefresh;
private _loadUserProfileAtStartUp;
private _bearerPrefix;
private _authorizationHeaderName;
private _excludedUrls;
private _keycloakEvents$;
private bindsKeycloakEvents;
private loadExcludedUrls;
private initServiceValues;
init(options?: KeycloakOptions): Promise<boolean>;
login(options?: Keycloak.KeycloakLoginOptions): Promise<void>;
logout(redirectUri?: string): Promise<void>;
register(options?: Keycloak.KeycloakLoginOptions): Promise<void>;
isUserInRole(role: string, resource?: string): boolean;
getUserRoles(allRoles?: boolean): string[];
isLoggedIn(): Promise<boolean>;
isTokenExpired(minValidity?: number): boolean;
updateToken(minValidity?: number): Promise<boolean>;
loadUserProfile(forceReload?: boolean): Promise<Keycloak.KeycloakProfile>;
getToken(): Promise<string>;
getUsername(): string;
clearToken(): void;
addTokenToHeader(headers?: HttpHeaders): Observable<HttpHeaders>;
getKeycloakInstance(): Keycloak.KeycloakInstance;
readonly excludedUrls: ExcludedUrlRegex[];
readonly enableBearerInterceptor: boolean;
readonly keycloakEvents$: Subject<KeycloakEvent>;
}