keycloak-angular 16.0.1 → 19.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +245 -151
- package/fesm2022/keycloak-angular.mjs +1324 -51
- package/fesm2022/keycloak-angular.mjs.map +1 -1
- package/index.d.ts +3 -0
- package/lib/directives/has-roles.directive.d.ts +95 -0
- package/lib/features/keycloak.feature.d.ts +43 -0
- package/lib/features/with-refresh-token.feature.d.ts +66 -0
- package/lib/guards/auth.guard.d.ts +75 -0
- package/lib/interceptors/custom-bearer-token.interceptor.d.ts +97 -0
- package/lib/interceptors/include-bearer-token.interceptor.d.ts +111 -0
- package/lib/interceptors/keycloak.interceptor.d.ts +71 -0
- package/lib/{core → legacy/core}/core.module.d.ts +5 -0
- package/lib/legacy/core/interceptors/keycloak-bearer.interceptor.d.ts +53 -0
- package/lib/legacy/core/interfaces/keycloak-event.d.ts +74 -0
- package/lib/legacy/core/interfaces/keycloak-options.d.ts +146 -0
- package/lib/legacy/core/services/keycloak-auth-guard.d.ts +50 -0
- package/lib/legacy/core/services/keycloak.service.d.ts +316 -0
- package/lib/{keycloak-angular.module.d.ts → legacy/keycloak-angular.module.d.ts} +5 -0
- package/lib/legacy/public_api.d.ts +14 -0
- package/lib/provide-keycloak.d.ts +74 -0
- package/lib/services/auto-refresh-token.service.d.ts +47 -0
- package/lib/services/user-activity.service.d.ts +66 -0
- package/lib/signals/keycloak-events-signal.d.ts +118 -0
- package/package.json +5 -7
- package/public_api.d.ts +19 -7
- package/esm2022/keycloak-angular.mjs +0 -2
- package/esm2022/lib/core/core.module.mjs +0 -33
- package/esm2022/lib/core/interceptors/keycloak-bearer.interceptor.mjs +0 -51
- package/esm2022/lib/core/interfaces/keycloak-event.mjs +0 -12
- package/esm2022/lib/core/interfaces/keycloak-options.mjs +0 -2
- package/esm2022/lib/core/services/keycloak-auth-guard.mjs +0 -17
- package/esm2022/lib/core/services/keycloak.service.mjs +0 -204
- package/esm2022/lib/keycloak-angular.module.mjs +0 -15
- package/esm2022/public_api.mjs +0 -7
- package/lib/core/interceptors/keycloak-bearer.interceptor.d.ts +0 -14
- package/lib/core/interfaces/keycloak-event.d.ts +0 -14
- package/lib/core/interfaces/keycloak-options.d.ts +0 -22
- package/lib/core/services/keycloak-auth-guard.d.ts +0 -11
- package/lib/core/services/keycloak.service.d.ts +0 -42
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { CoreModule } from './core/core.module';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class KeycloakAngularModule {
|
|
5
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: KeycloakAngularModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
6
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.3", ngImport: i0, type: KeycloakAngularModule, imports: [CoreModule] }); }
|
|
7
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: KeycloakAngularModule, imports: [CoreModule] }); }
|
|
8
|
-
}
|
|
9
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: KeycloakAngularModule, decorators: [{
|
|
10
|
-
type: NgModule,
|
|
11
|
-
args: [{
|
|
12
|
-
imports: [CoreModule]
|
|
13
|
-
}]
|
|
14
|
-
}] });
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5Y2xvYWstYW5ndWxhci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9rZXljbG9hay1hbmd1bGFyL3NyYy9saWIva2V5Y2xvYWstYW5ndWxhci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBUUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBS2hELE1BQU0sT0FBTyxxQkFBcUI7OEdBQXJCLHFCQUFxQjsrR0FBckIscUJBQXFCLFlBRnRCLFVBQVU7K0dBRVQscUJBQXFCLFlBRnRCLFVBQVU7OzJGQUVULHFCQUFxQjtrQkFIakMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxVQUFVLENBQUM7aUJBQ3RCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IE1hdXJpY2lvIEdlbWVsbGkgVmlnb2xvIGFuZCBjb250cmlidXRvcnMuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2dpdGh1Yi5jb20vbWF1cmljaW92aWdvbG8va2V5Y2xvYWstYW5ndWxhci9ibG9iL21haW4vTElDRU5TRS5tZFxuICovXG5cbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IENvcmVNb2R1bGUgfSBmcm9tICcuL2NvcmUvY29yZS5tb2R1bGUnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29yZU1vZHVsZV1cbn0pXG5leHBvcnQgY2xhc3MgS2V5Y2xvYWtBbmd1bGFyTW9kdWxlIHt9XG4iXX0=
|
package/esm2022/public_api.mjs
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export { KeycloakEventType } from './lib/core/interfaces/keycloak-event';
|
|
2
|
-
export { KeycloakAuthGuard } from './lib/core/services/keycloak-auth-guard';
|
|
3
|
-
export { KeycloakService } from './lib/core/services/keycloak.service';
|
|
4
|
-
export { KeycloakBearerInterceptor } from './lib/core/interceptors/keycloak-bearer.interceptor';
|
|
5
|
-
export { CoreModule } from './lib/core/core.module';
|
|
6
|
-
export { KeycloakAngularModule } from './lib/keycloak-angular.module';
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2tleWNsb2FrLWFuZ3VsYXIvc3JjL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBUUEsT0FBTyxFQUVMLGlCQUFpQixFQUNsQixNQUFNLHNDQUFzQyxDQUFDO0FBRTlDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUNoRyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDcEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sK0JBQStCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgTWF1cmljaW8gR2VtZWxsaSBWaWdvbG8gYW5kIGNvbnRyaWJ1dG9ycy5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS9tYXVyaWNpb3ZpZ29sby9rZXljbG9hay1hbmd1bGFyL2Jsb2IvbWFpbi9MSUNFTlNFLm1kXG4gKi9cblxuZXhwb3J0IHtcbiAgS2V5Y2xvYWtFdmVudCxcbiAgS2V5Y2xvYWtFdmVudFR5cGVcbn0gZnJvbSAnLi9saWIvY29yZS9pbnRlcmZhY2VzL2tleWNsb2FrLWV2ZW50JztcbmV4cG9ydCB7IEtleWNsb2FrT3B0aW9ucyB9IGZyb20gJy4vbGliL2NvcmUvaW50ZXJmYWNlcy9rZXljbG9hay1vcHRpb25zJztcbmV4cG9ydCB7IEtleWNsb2FrQXV0aEd1YXJkIH0gZnJvbSAnLi9saWIvY29yZS9zZXJ2aWNlcy9rZXljbG9hay1hdXRoLWd1YXJkJztcbmV4cG9ydCB7IEtleWNsb2FrU2VydmljZSB9IGZyb20gJy4vbGliL2NvcmUvc2VydmljZXMva2V5Y2xvYWsuc2VydmljZSc7XG5leHBvcnQgeyBLZXljbG9ha0JlYXJlckludGVyY2VwdG9yIH0gZnJvbSAnLi9saWIvY29yZS9pbnRlcmNlcHRvcnMva2V5Y2xvYWstYmVhcmVyLmludGVyY2VwdG9yJztcbmV4cG9ydCB7IENvcmVNb2R1bGUgfSBmcm9tICcuL2xpYi9jb3JlL2NvcmUubW9kdWxlJztcbmV4cG9ydCB7IEtleWNsb2FrQW5ndWxhck1vZHVsZSB9IGZyb20gJy4vbGliL2tleWNsb2FrLWFuZ3VsYXIubW9kdWxlJztcbiJdfQ==
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { HttpInterceptor, HttpRequest, HttpHandler, HttpEvent } from '@angular/common/http';
|
|
2
|
-
import { Observable } from 'rxjs';
|
|
3
|
-
import { KeycloakService } from '../services/keycloak.service';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export declare class KeycloakBearerInterceptor implements HttpInterceptor {
|
|
6
|
-
private keycloak;
|
|
7
|
-
constructor(keycloak: KeycloakService);
|
|
8
|
-
private conditionallyUpdateToken;
|
|
9
|
-
private isUrlExcluded;
|
|
10
|
-
intercept(req: HttpRequest<unknown>, next: HttpHandler): Observable<HttpEvent<unknown>>;
|
|
11
|
-
private handleRequestWithTokenHeader;
|
|
12
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<KeycloakBearerInterceptor, never>;
|
|
13
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<KeycloakBearerInterceptor>;
|
|
14
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
export declare enum KeycloakEventType {
|
|
2
|
-
OnAuthError = 0,
|
|
3
|
-
OnAuthLogout = 1,
|
|
4
|
-
OnAuthRefreshError = 2,
|
|
5
|
-
OnAuthRefreshSuccess = 3,
|
|
6
|
-
OnAuthSuccess = 4,
|
|
7
|
-
OnReady = 5,
|
|
8
|
-
OnTokenExpired = 6,
|
|
9
|
-
OnActionUpdate = 7
|
|
10
|
-
}
|
|
11
|
-
export interface KeycloakEvent {
|
|
12
|
-
type: KeycloakEventType;
|
|
13
|
-
args?: unknown;
|
|
14
|
-
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { HttpRequest } from '@angular/common/http';
|
|
2
|
-
export type HttpMethods = 'GET' | 'POST' | 'PUT' | 'DELETE' | 'OPTIONS' | 'HEAD' | 'PATCH';
|
|
3
|
-
export interface ExcludedUrl {
|
|
4
|
-
url: string;
|
|
5
|
-
httpMethods?: HttpMethods[];
|
|
6
|
-
}
|
|
7
|
-
export interface ExcludedUrlRegex {
|
|
8
|
-
urlPattern: RegExp;
|
|
9
|
-
httpMethods?: HttpMethods[];
|
|
10
|
-
}
|
|
11
|
-
export interface KeycloakOptions {
|
|
12
|
-
config?: string | Keycloak.KeycloakConfig;
|
|
13
|
-
initOptions?: Keycloak.KeycloakInitOptions;
|
|
14
|
-
enableBearerInterceptor?: boolean;
|
|
15
|
-
loadUserProfileAtStartUp?: boolean;
|
|
16
|
-
bearerExcludedUrls?: (string | ExcludedUrl)[];
|
|
17
|
-
authorizationHeaderName?: string;
|
|
18
|
-
bearerPrefix?: string;
|
|
19
|
-
updateMinValidity?: number;
|
|
20
|
-
shouldAddToken?: (request: HttpRequest<unknown>) => boolean;
|
|
21
|
-
shouldUpdateToken?: (request: HttpRequest<unknown>) => boolean;
|
|
22
|
-
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { CanActivate, Router, ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree } from '@angular/router';
|
|
2
|
-
import { KeycloakService } from './keycloak.service';
|
|
3
|
-
export declare abstract class KeycloakAuthGuard implements CanActivate {
|
|
4
|
-
protected router: Router;
|
|
5
|
-
protected keycloakAngular: KeycloakService;
|
|
6
|
-
protected authenticated: boolean;
|
|
7
|
-
protected roles: string[];
|
|
8
|
-
constructor(router: Router, keycloakAngular: KeycloakService);
|
|
9
|
-
canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Promise<boolean | UrlTree>;
|
|
10
|
-
abstract isAccessAllowed(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Promise<boolean | UrlTree>;
|
|
11
|
-
}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { HttpHeaders, HttpRequest } from '@angular/common/http';
|
|
2
|
-
import { Subject } from 'rxjs';
|
|
3
|
-
import { ExcludedUrlRegex, KeycloakOptions } from '../interfaces/keycloak-options';
|
|
4
|
-
import { KeycloakEvent } from '../interfaces/keycloak-event';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export declare class KeycloakService {
|
|
7
|
-
private _instance;
|
|
8
|
-
private _userProfile;
|
|
9
|
-
private _enableBearerInterceptor;
|
|
10
|
-
private _silentRefresh;
|
|
11
|
-
private _loadUserProfileAtStartUp;
|
|
12
|
-
private _bearerPrefix;
|
|
13
|
-
private _authorizationHeaderName;
|
|
14
|
-
private _excludedUrls;
|
|
15
|
-
private _keycloakEvents$;
|
|
16
|
-
private _updateMinValidity;
|
|
17
|
-
shouldAddToken: (request: HttpRequest<unknown>) => boolean;
|
|
18
|
-
shouldUpdateToken: (request: HttpRequest<unknown>) => boolean;
|
|
19
|
-
private bindsKeycloakEvents;
|
|
20
|
-
private loadExcludedUrls;
|
|
21
|
-
private initServiceValues;
|
|
22
|
-
init(options?: KeycloakOptions): Promise<boolean>;
|
|
23
|
-
login(options?: Keycloak.KeycloakLoginOptions): Promise<void>;
|
|
24
|
-
logout(redirectUri?: string): Promise<void>;
|
|
25
|
-
register(options?: Keycloak.KeycloakLoginOptions): Promise<void>;
|
|
26
|
-
isUserInRole(role: string, resource?: string): boolean;
|
|
27
|
-
getUserRoles(realmRoles?: boolean, resource?: string): string[];
|
|
28
|
-
isLoggedIn(): boolean;
|
|
29
|
-
isTokenExpired(minValidity?: number): boolean;
|
|
30
|
-
updateToken(minValidity?: number): Promise<boolean>;
|
|
31
|
-
loadUserProfile(forceReload?: boolean): Promise<import("keycloak-js").KeycloakProfile>;
|
|
32
|
-
getToken(): Promise<string>;
|
|
33
|
-
getUsername(): string;
|
|
34
|
-
clearToken(): void;
|
|
35
|
-
addTokenToHeader(headers?: HttpHeaders): import("rxjs").Observable<HttpHeaders>;
|
|
36
|
-
getKeycloakInstance(): Keycloak.KeycloakInstance;
|
|
37
|
-
get excludedUrls(): ExcludedUrlRegex[];
|
|
38
|
-
get enableBearerInterceptor(): boolean;
|
|
39
|
-
get keycloakEvents$(): Subject<KeycloakEvent>;
|
|
40
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<KeycloakService, never>;
|
|
41
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<KeycloakService>;
|
|
42
|
-
}
|