imng-oidc-client 4.102.10

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.
Files changed (62) hide show
  1. package/README.md +50 -0
  2. package/esm2020/imng-oidc-client.mjs +5 -0
  3. package/esm2020/index.mjs +24 -0
  4. package/esm2020/lib/+state/oidc-user.facade.mjs +28 -0
  5. package/esm2020/lib/+state/oidc-user.selectors.mjs +13 -0
  6. package/esm2020/lib/+state/oidc.actions.mjs +37 -0
  7. package/esm2020/lib/+state/oidc.effects.mjs +66 -0
  8. package/esm2020/lib/+state/oidc.facade.mjs +136 -0
  9. package/esm2020/lib/+state/oidc.reducer.mjs +93 -0
  10. package/esm2020/lib/+state/oidc.selectors.mjs +40 -0
  11. package/esm2020/lib/components/access-denied.component.mjs +14 -0
  12. package/esm2020/lib/components/logout-success.component.mjs +18 -0
  13. package/esm2020/lib/img-oidc-client-routing.module.mjs +44 -0
  14. package/esm2020/lib/imng-oidc-client.module.mjs +96 -0
  15. package/esm2020/lib/models/arguments.model.mjs +2 -0
  16. package/esm2020/lib/models/constants.mjs +17 -0
  17. package/esm2020/lib/models/oidc-client-config.mjs +3 -0
  18. package/esm2020/lib/models/oidc-library-config.mjs +3 -0
  19. package/esm2020/lib/models/oidc-user-profile.mjs +2 -0
  20. package/esm2020/lib/models/oidc-user.mjs +2 -0
  21. package/esm2020/lib/services/auth-guard.mjs +40 -0
  22. package/esm2020/lib/services/oidc.service.mjs +166 -0
  23. package/esm2020/lib/services/permissions.guard.mjs +22 -0
  24. package/esm2020/lib/services/token-interceptor.service.mjs +35 -0
  25. package/esm2020/lib/support/support.component.mjs +85 -0
  26. package/esm2020/lib/util/jwt-decoder.mjs +11 -0
  27. package/esm2020/lib/util/oidc-client-configurator.mjs +24 -0
  28. package/fesm2015/imng-oidc-client.mjs +844 -0
  29. package/fesm2015/imng-oidc-client.mjs.map +1 -0
  30. package/fesm2020/imng-oidc-client.mjs +907 -0
  31. package/fesm2020/imng-oidc-client.mjs.map +1 -0
  32. package/imng-oidc-client.d.ts +5 -0
  33. package/index.d.ts +23 -0
  34. package/lib/+state/oidc-user.facade.d.ts +16 -0
  35. package/lib/+state/oidc-user.selectors.d.ts +7 -0
  36. package/lib/+state/oidc.actions.d.ts +72 -0
  37. package/lib/+state/oidc.effects.d.ts +58 -0
  38. package/lib/+state/oidc.facade.d.ts +56 -0
  39. package/lib/+state/oidc.reducer.d.ts +22 -0
  40. package/lib/+state/oidc.selectors.d.ts +20 -0
  41. package/lib/components/access-denied.component.d.ts +5 -0
  42. package/lib/components/logout-success.component.d.ts +5 -0
  43. package/lib/img-oidc-client-routing.module.d.ts +12 -0
  44. package/lib/imng-oidc-client.module.d.ts +17 -0
  45. package/lib/models/arguments.model.d.ts +21 -0
  46. package/lib/models/constants.d.ts +14 -0
  47. package/lib/models/oidc-client-config.d.ts +12 -0
  48. package/lib/models/oidc-library-config.d.ts +12 -0
  49. package/lib/models/oidc-user-profile.d.ts +4 -0
  50. package/lib/models/oidc-user.d.ts +15 -0
  51. package/lib/services/auth-guard.d.ts +14 -0
  52. package/lib/services/oidc.service.d.ts +37 -0
  53. package/lib/services/permissions.guard.d.ts +12 -0
  54. package/lib/services/token-interceptor.service.d.ts +12 -0
  55. package/lib/support/support.component.d.ts +15 -0
  56. package/lib/util/jwt-decoder.d.ts +1 -0
  57. package/lib/util/oidc-client-configurator.d.ts +3 -0
  58. package/package.json +54 -0
  59. package/src/assets/callback.html +44 -0
  60. package/src/assets/oidc-client.rsa256.slim.min.js +3 -0
  61. package/src/assets/renew-callback.html +18 -0
  62. package/src/assets/signout-callback.html +29 -0
@@ -0,0 +1,14 @@
1
+ import { Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class AccessDeniedComponent {
4
+ }
5
+ AccessDeniedComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: AccessDeniedComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6
+ AccessDeniedComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: AccessDeniedComponent, selector: "imng-access-denied", ngImport: i0, template: '<div class="p-5 m-5 text-danger">Access denied.</div>', isInline: true });
7
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: AccessDeniedComponent, decorators: [{
8
+ type: Component,
9
+ args: [{
10
+ selector: 'imng-access-denied',
11
+ template: '<div class="p-5 m-5 text-danger">Access denied.</div>'
12
+ }]
13
+ }] });
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjZXNzLWRlbmllZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ltbmctb2lkYy1jbGllbnQvc3JjL2xpYi9jb21wb25lbnRzL2FjY2Vzcy1kZW5pZWQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTTFDLE1BQU0sT0FBTyxxQkFBcUI7O2tIQUFyQixxQkFBcUI7c0dBQXJCLHFCQUFxQiwwREFGdEIsdURBQXVEOzJGQUV0RCxxQkFBcUI7a0JBSmpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtvQkFDOUIsUUFBUSxFQUFFLHVEQUF1RDtpQkFDbEUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaW1uZy1hY2Nlc3MtZGVuaWVkJyxcbiAgdGVtcGxhdGU6ICc8ZGl2IGNsYXNzPVwicC01IG0tNSB0ZXh0LWRhbmdlclwiPkFjY2VzcyBkZW5pZWQuPC9kaXY+J1xufSlcbmV4cG9ydCBjbGFzcyBBY2Nlc3NEZW5pZWRDb21wb25lbnQgeyB9XG4iXX0=
@@ -0,0 +1,18 @@
1
+ import { Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class LogoutSuccessComponent {
4
+ }
5
+ LogoutSuccessComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: LogoutSuccessComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6
+ LogoutSuccessComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: LogoutSuccessComponent, selector: "imng-logout-success", ngImport: i0, template:
7
+ // eslint-disable-next-line max-len
8
+ '<div class="p-5 m-5 text-center">You have successfully logged out.<br/>Please close this browser window to ensure you are completely logged out of the session.</div>', isInline: true });
9
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: LogoutSuccessComponent, decorators: [{
10
+ type: Component,
11
+ args: [{
12
+ selector: 'imng-logout-success',
13
+ template:
14
+ // eslint-disable-next-line max-len
15
+ '<div class="p-5 m-5 text-center">You have successfully logged out.<br/>Please close this browser window to ensure you are completely logged out of the session.</div>'
16
+ }]
17
+ }] });
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nb3V0LXN1Y2Nlc3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9pbW5nLW9pZGMtY2xpZW50L3NyYy9saWIvY29tcG9uZW50cy9sb2dvdXQtc3VjY2Vzcy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFRMUMsTUFBTSxPQUFPLHNCQUFzQjs7bUhBQXRCLHNCQUFzQjt1R0FBdEIsc0JBQXNCO0lBSC9CLG1DQUFtQztJQUNuQyx1S0FBdUs7MkZBRTlKLHNCQUFzQjtrQkFObEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixRQUFRO29CQUNOLG1DQUFtQztvQkFDbkMsdUtBQXVLO2lCQUMxSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpbW5nLWxvZ291dC1zdWNjZXNzJyxcbiAgdGVtcGxhdGU6XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG1heC1sZW5cbiAgICAnPGRpdiBjbGFzcz1cInAtNSBtLTUgdGV4dC1jZW50ZXJcIj5Zb3UgaGF2ZSBzdWNjZXNzZnVsbHkgbG9nZ2VkIG91dC48YnIvPlBsZWFzZSBjbG9zZSB0aGlzIGJyb3dzZXIgd2luZG93IHRvIGVuc3VyZSB5b3UgYXJlIGNvbXBsZXRlbHkgbG9nZ2VkIG91dCBvZiB0aGUgc2Vzc2lvbi48L2Rpdj4nXG59KVxuZXhwb3J0IGNsYXNzIExvZ291dFN1Y2Nlc3NDb21wb25lbnQgeyB9XG4iXX0=
@@ -0,0 +1,44 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { RouterModule } from '@angular/router';
3
+ import { SupportComponent } from './support/support.component';
4
+ import { AccessDeniedComponent } from './components/access-denied.component';
5
+ import { AuthGuard } from './services/auth-guard';
6
+ import { LogoutSuccessComponent } from './components/logout-success.component';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@angular/router";
9
+ const routes = [
10
+ { path: 'support', component: SupportComponent },
11
+ { path: 'access-denied', component: AccessDeniedComponent },
12
+ { path: 'logout', component: LogoutSuccessComponent },
13
+ ];
14
+ export class ImngOidcClientRoutingModule {
15
+ }
16
+ ImngOidcClientRoutingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: ImngOidcClientRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
17
+ ImngOidcClientRoutingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: ImngOidcClientRoutingModule, imports: [i1.RouterModule], exports: [RouterModule] });
18
+ ImngOidcClientRoutingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: ImngOidcClientRoutingModule, imports: [[RouterModule.forChild(routes)], RouterModule] });
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: ImngOidcClientRoutingModule, decorators: [{
20
+ type: NgModule,
21
+ args: [{
22
+ imports: [RouterModule.forChild(routes)],
23
+ exports: [RouterModule],
24
+ }]
25
+ }] });
26
+ export const oidcSupportRoute = {
27
+ path: 'oidc/support',
28
+ component: SupportComponent,
29
+ canActivate: [AuthGuard],
30
+ };
31
+ export const oidcAccessDeniedRoute = {
32
+ path: 'oidc/access-denied',
33
+ component: AccessDeniedComponent,
34
+ };
35
+ export const oidcLogoutRoute = {
36
+ path: 'oidc/logout',
37
+ component: LogoutSuccessComponent,
38
+ };
39
+ export const oidcRoutes = [
40
+ oidcSupportRoute,
41
+ oidcAccessDeniedRoute,
42
+ oidcLogoutRoute,
43
+ ];
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1nLW9pZGMtY2xpZW50LXJvdXRpbmcubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9pbW5nLW9pZGMtY2xpZW50L3NyYy9saWIvaW1nLW9pZGMtY2xpZW50LXJvdXRpbmcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFVLFlBQVksRUFBUyxNQUFNLGlCQUFpQixDQUFDO0FBQzlELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7O0FBRS9FLE1BQU0sTUFBTSxHQUFXO0lBQ3JCLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7SUFDaEQsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxxQkFBcUIsRUFBRTtJQUMzRCxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLHNCQUFzQixFQUFFO0NBQ3RELENBQUM7QUFNRixNQUFNLE9BQU8sMkJBQTJCOzt3SEFBM0IsMkJBQTJCO3lIQUEzQiwyQkFBMkIsd0NBRjVCLFlBQVk7eUhBRVgsMkJBQTJCLFlBSDdCLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUM5QixZQUFZOzJGQUVYLDJCQUEyQjtrQkFKdkMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUN4QyxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7aUJBQ3hCOztBQUdELE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFVO0lBQ3JDLElBQUksRUFBRSxjQUFjO0lBQ3BCLFNBQVMsRUFBRSxnQkFBZ0I7SUFDM0IsV0FBVyxFQUFFLENBQUMsU0FBUyxDQUFDO0NBQ3pCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBVTtJQUMxQyxJQUFJLEVBQUUsb0JBQW9CO0lBQzFCLFNBQVMsRUFBRSxxQkFBcUI7Q0FDakMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBVTtJQUNwQyxJQUFJLEVBQUUsYUFBYTtJQUNuQixTQUFTLEVBQUUsc0JBQXNCO0NBQ2xDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxVQUFVLEdBQVk7SUFDakMsZ0JBQWdCO0lBQ2hCLHFCQUFxQjtJQUNyQixlQUFlO0NBQ2hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVzLCBSb3V0ZXJNb2R1bGUsIFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFN1cHBvcnRDb21wb25lbnQgfSBmcm9tICcuL3N1cHBvcnQvc3VwcG9ydC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQWNjZXNzRGVuaWVkQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2FjY2Vzcy1kZW5pZWQuY29tcG9uZW50JztcbmltcG9ydCB7IEF1dGhHdWFyZCB9IGZyb20gJy4vc2VydmljZXMvYXV0aC1ndWFyZCc7XG5pbXBvcnQgeyBMb2dvdXRTdWNjZXNzQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2xvZ291dC1zdWNjZXNzLmNvbXBvbmVudCc7XG5cbmNvbnN0IHJvdXRlczogUm91dGVzID0gW1xuICB7IHBhdGg6ICdzdXBwb3J0JywgY29tcG9uZW50OiBTdXBwb3J0Q29tcG9uZW50IH0sXG4gIHsgcGF0aDogJ2FjY2Vzcy1kZW5pZWQnLCBjb21wb25lbnQ6IEFjY2Vzc0RlbmllZENvbXBvbmVudCB9LFxuICB7IHBhdGg6ICdsb2dvdXQnLCBjb21wb25lbnQ6IExvZ291dFN1Y2Nlc3NDb21wb25lbnQgfSxcbl07XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtSb3V0ZXJNb2R1bGUuZm9yQ2hpbGQocm91dGVzKV0sXG4gIGV4cG9ydHM6IFtSb3V0ZXJNb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBJbW5nT2lkY0NsaWVudFJvdXRpbmdNb2R1bGUge31cblxuZXhwb3J0IGNvbnN0IG9pZGNTdXBwb3J0Um91dGU6IFJvdXRlID0ge1xuICBwYXRoOiAnb2lkYy9zdXBwb3J0JyxcbiAgY29tcG9uZW50OiBTdXBwb3J0Q29tcG9uZW50LFxuICBjYW5BY3RpdmF0ZTogW0F1dGhHdWFyZF0sXG59O1xuXG5leHBvcnQgY29uc3Qgb2lkY0FjY2Vzc0RlbmllZFJvdXRlOiBSb3V0ZSA9IHtcbiAgcGF0aDogJ29pZGMvYWNjZXNzLWRlbmllZCcsXG4gIGNvbXBvbmVudDogQWNjZXNzRGVuaWVkQ29tcG9uZW50LFxufTtcblxuZXhwb3J0IGNvbnN0IG9pZGNMb2dvdXRSb3V0ZTogUm91dGUgPSB7XG4gIHBhdGg6ICdvaWRjL2xvZ291dCcsXG4gIGNvbXBvbmVudDogTG9nb3V0U3VjY2Vzc0NvbXBvbmVudCxcbn07XG5cbmV4cG9ydCBjb25zdCBvaWRjUm91dGVzOiBSb3V0ZVtdID0gW1xuICBvaWRjU3VwcG9ydFJvdXRlLFxuICBvaWRjQWNjZXNzRGVuaWVkUm91dGUsXG4gIG9pZGNMb2dvdXRSb3V0ZSxcbl07XG4iXX0=
@@ -0,0 +1,96 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule, DOCUMENT } from '@angular/common';
3
+ import { AuthGuard } from './services/auth-guard';
4
+ import { oidcConfigurator } from './util/oidc-client-configurator';
5
+ import { OIDC_CLIENT_CONFIG, } from './models/oidc-client-config';
6
+ import { OidcEffects } from './+state/oidc.effects';
7
+ import { OidcService } from './services/oidc.service';
8
+ import { OidcFacade } from './+state/oidc.facade';
9
+ import { StoreModule, Store } from '@ngrx/store';
10
+ import { oidcReducer, OIDC_FEATURE_KEY } from './+state/oidc.reducer';
11
+ import { EffectsModule } from '@ngrx/effects';
12
+ import { OidcUserFacade } from './+state/oidc-user.facade';
13
+ import { TokenInterceptorService } from './services/token-interceptor.service';
14
+ import { HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http';
15
+ import { AccessDeniedComponent } from './components/access-denied.component';
16
+ import { SupportComponent } from './support/support.component';
17
+ import { ImngOidcClientRoutingModule } from './img-oidc-client-routing.module';
18
+ import { LogoutSuccessComponent } from './components/logout-success.component';
19
+ import { OIDC_LIBRARY_CONFIG } from './models/oidc-library-config';
20
+ import * as i0 from "@angular/core";
21
+ import * as i1 from "@ngrx/store";
22
+ import * as i2 from "@ngrx/effects";
23
+ export class ImngOidcClientModule {
24
+ static forRoot(oidc0ptions) {
25
+ return {
26
+ ngModule: ImngOidcClientModule,
27
+ providers: [{ provide: OIDC_CLIENT_CONFIG, useValue: oidc0ptions }],
28
+ };
29
+ }
30
+ }
31
+ ImngOidcClientModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: ImngOidcClientModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
32
+ ImngOidcClientModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: ImngOidcClientModule, declarations: [AccessDeniedComponent,
33
+ SupportComponent,
34
+ LogoutSuccessComponent], imports: [CommonModule,
35
+ HttpClientModule, i1.StoreFeatureModule, i2.EffectsFeatureModule, ImngOidcClientRoutingModule], exports: [AccessDeniedComponent, SupportComponent, LogoutSuccessComponent] });
36
+ ImngOidcClientModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: ImngOidcClientModule, providers: [
37
+ {
38
+ provide: OIDC_LIBRARY_CONFIG,
39
+ useFactory: oidcConfigurator,
40
+ deps: [OIDC_CLIENT_CONFIG, DOCUMENT],
41
+ },
42
+ OidcService,
43
+ OidcFacade,
44
+ OidcEffects,
45
+ OidcUserFacade,
46
+ AuthGuard,
47
+ {
48
+ provide: HTTP_INTERCEPTORS,
49
+ useClass: TokenInterceptorService,
50
+ multi: true,
51
+ deps: [Store],
52
+ },
53
+ ], imports: [[
54
+ CommonModule,
55
+ HttpClientModule,
56
+ StoreModule.forFeature(OIDC_FEATURE_KEY, oidcReducer),
57
+ EffectsModule.forFeature([OidcEffects]),
58
+ ImngOidcClientRoutingModule,
59
+ ]] });
60
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: ImngOidcClientModule, decorators: [{
61
+ type: NgModule,
62
+ args: [{
63
+ declarations: [
64
+ AccessDeniedComponent,
65
+ SupportComponent,
66
+ LogoutSuccessComponent,
67
+ ],
68
+ imports: [
69
+ CommonModule,
70
+ HttpClientModule,
71
+ StoreModule.forFeature(OIDC_FEATURE_KEY, oidcReducer),
72
+ EffectsModule.forFeature([OidcEffects]),
73
+ ImngOidcClientRoutingModule,
74
+ ],
75
+ exports: [AccessDeniedComponent, SupportComponent, LogoutSuccessComponent],
76
+ providers: [
77
+ {
78
+ provide: OIDC_LIBRARY_CONFIG,
79
+ useFactory: oidcConfigurator,
80
+ deps: [OIDC_CLIENT_CONFIG, DOCUMENT],
81
+ },
82
+ OidcService,
83
+ OidcFacade,
84
+ OidcEffects,
85
+ OidcUserFacade,
86
+ AuthGuard,
87
+ {
88
+ provide: HTTP_INTERCEPTORS,
89
+ useClass: TokenInterceptorService,
90
+ multi: true,
91
+ deps: [Store],
92
+ },
93
+ ],
94
+ }]
95
+ }] });
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1uZy1vaWRjLWNsaWVudC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2ltbmctb2lkYy1jbGllbnQvc3JjL2xpYi9pbW5nLW9pZGMtY2xpZW50Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUF1QixNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNuRSxPQUFPLEVBRUwsa0JBQWtCLEdBQ25CLE1BQU0sNkJBQTZCLENBQUM7QUFDckMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDakQsT0FBTyxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzNFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQy9ELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7O0FBbUNuRSxNQUFNLE9BQU8sb0JBQW9CO0lBQy9CLE1BQU0sQ0FBQyxPQUFPLENBQ1osV0FBNkI7UUFFN0IsT0FBTztZQUNMLFFBQVEsRUFBRSxvQkFBb0I7WUFDOUIsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxDQUFDO1NBQ3BFLENBQUM7SUFDSixDQUFDOztpSEFSVSxvQkFBb0I7a0hBQXBCLG9CQUFvQixpQkEvQjdCLHFCQUFxQjtRQUNyQixnQkFBZ0I7UUFDaEIsc0JBQXNCLGFBR3RCLFlBQVk7UUFDWixnQkFBZ0Isa0RBR2hCLDJCQUEyQixhQUVuQixxQkFBcUIsRUFBRSxnQkFBZ0IsRUFBRSxzQkFBc0I7a0hBb0I5RCxvQkFBb0IsYUFuQnBCO1FBQ1Q7WUFDRSxPQUFPLEVBQUUsbUJBQW1CO1lBQzVCLFVBQVUsRUFBRSxnQkFBZ0I7WUFDNUIsSUFBSSxFQUFFLENBQUMsa0JBQWtCLEVBQUUsUUFBUSxDQUFDO1NBQ3JDO1FBQ0QsV0FBVztRQUNYLFVBQVU7UUFDVixXQUFXO1FBQ1gsY0FBYztRQUNkLFNBQVM7UUFDVDtZQUNFLE9BQU8sRUFBRSxpQkFBaUI7WUFDMUIsUUFBUSxFQUFFLHVCQUF1QjtZQUNqQyxLQUFLLEVBQUUsSUFBSTtZQUNYLElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQztTQUNkO0tBQ0YsWUF6QlE7WUFDUCxZQUFZO1lBQ1osZ0JBQWdCO1lBQ2hCLFdBQVcsQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLEVBQUUsV0FBVyxDQUFDO1lBQ3JELGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUN2QywyQkFBMkI7U0FDNUI7MkZBcUJVLG9CQUFvQjtrQkFqQ2hDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLHFCQUFxQjt3QkFDckIsZ0JBQWdCO3dCQUNoQixzQkFBc0I7cUJBQ3ZCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIsV0FBVyxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsRUFBRSxXQUFXLENBQUM7d0JBQ3JELGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQzt3QkFDdkMsMkJBQTJCO3FCQUM1QjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxxQkFBcUIsRUFBRSxnQkFBZ0IsRUFBRSxzQkFBc0IsQ0FBQztvQkFDMUUsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxtQkFBbUI7NEJBQzVCLFVBQVUsRUFBRSxnQkFBZ0I7NEJBQzVCLElBQUksRUFBRSxDQUFDLGtCQUFrQixFQUFFLFFBQVEsQ0FBQzt5QkFDckM7d0JBQ0QsV0FBVzt3QkFDWCxVQUFVO3dCQUNWLFdBQVc7d0JBQ1gsY0FBYzt3QkFDZCxTQUFTO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFFBQVEsRUFBRSx1QkFBdUI7NEJBQ2pDLEtBQUssRUFBRSxJQUFJOzRCQUNYLElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQzt5QkFDZDtxQkFDRjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlLCBNb2R1bGVXaXRoUHJvdmlkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUsIERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEF1dGhHdWFyZCB9IGZyb20gJy4vc2VydmljZXMvYXV0aC1ndWFyZCc7XG5pbXBvcnQgeyBvaWRjQ29uZmlndXJhdG9yIH0gZnJvbSAnLi91dGlsL29pZGMtY2xpZW50LWNvbmZpZ3VyYXRvcic7XG5pbXBvcnQge1xuICBPaWRjQ2xpZW50Q29uZmlnLFxuICBPSURDX0NMSUVOVF9DT05GSUcsXG59IGZyb20gJy4vbW9kZWxzL29pZGMtY2xpZW50LWNvbmZpZyc7XG5pbXBvcnQgeyBPaWRjRWZmZWN0cyB9IGZyb20gJy4vK3N0YXRlL29pZGMuZWZmZWN0cyc7XG5pbXBvcnQgeyBPaWRjU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvb2lkYy5zZXJ2aWNlJztcbmltcG9ydCB7IE9pZGNGYWNhZGUgfSBmcm9tICcuLytzdGF0ZS9vaWRjLmZhY2FkZSc7XG5pbXBvcnQgeyBTdG9yZU1vZHVsZSwgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBvaWRjUmVkdWNlciwgT0lEQ19GRUFUVVJFX0tFWSB9IGZyb20gJy4vK3N0YXRlL29pZGMucmVkdWNlcic7XG5pbXBvcnQgeyBFZmZlY3RzTW9kdWxlIH0gZnJvbSAnQG5ncngvZWZmZWN0cyc7XG5pbXBvcnQgeyBPaWRjVXNlckZhY2FkZSB9IGZyb20gJy4vK3N0YXRlL29pZGMtdXNlci5mYWNhZGUnO1xuaW1wb3J0IHsgVG9rZW5JbnRlcmNlcHRvclNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3Rva2VuLWludGVyY2VwdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHsgSFRUUF9JTlRFUkNFUFRPUlMsIEh0dHBDbGllbnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBBY2Nlc3NEZW5pZWRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYWNjZXNzLWRlbmllZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU3VwcG9ydENvbXBvbmVudCB9IGZyb20gJy4vc3VwcG9ydC9zdXBwb3J0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJbW5nT2lkY0NsaWVudFJvdXRpbmdNb2R1bGUgfSBmcm9tICcuL2ltZy1vaWRjLWNsaWVudC1yb3V0aW5nLm1vZHVsZSc7XG5pbXBvcnQgeyBMb2dvdXRTdWNjZXNzQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2xvZ291dC1zdWNjZXNzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPSURDX0xJQlJBUllfQ09ORklHIH0gZnJvbSAnLi9tb2RlbHMvb2lkYy1saWJyYXJ5LWNvbmZpZyc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEFjY2Vzc0RlbmllZENvbXBvbmVudCxcbiAgICBTdXBwb3J0Q29tcG9uZW50LFxuICAgIExvZ291dFN1Y2Nlc3NDb21wb25lbnQsXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgSHR0cENsaWVudE1vZHVsZSxcbiAgICBTdG9yZU1vZHVsZS5mb3JGZWF0dXJlKE9JRENfRkVBVFVSRV9LRVksIG9pZGNSZWR1Y2VyKSxcbiAgICBFZmZlY3RzTW9kdWxlLmZvckZlYXR1cmUoW09pZGNFZmZlY3RzXSksXG4gICAgSW1uZ09pZGNDbGllbnRSb3V0aW5nTW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbQWNjZXNzRGVuaWVkQ29tcG9uZW50LCBTdXBwb3J0Q29tcG9uZW50LCBMb2dvdXRTdWNjZXNzQ29tcG9uZW50XSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogT0lEQ19MSUJSQVJZX0NPTkZJRyxcbiAgICAgIHVzZUZhY3Rvcnk6IG9pZGNDb25maWd1cmF0b3IsXG4gICAgICBkZXBzOiBbT0lEQ19DTElFTlRfQ09ORklHLCBET0NVTUVOVF0sXG4gICAgfSxcbiAgICBPaWRjU2VydmljZSxcbiAgICBPaWRjRmFjYWRlLFxuICAgIE9pZGNFZmZlY3RzLFxuICAgIE9pZGNVc2VyRmFjYWRlLFxuICAgIEF1dGhHdWFyZCxcbiAgICB7XG4gICAgICBwcm92aWRlOiBIVFRQX0lOVEVSQ0VQVE9SUyxcbiAgICAgIHVzZUNsYXNzOiBUb2tlbkludGVyY2VwdG9yU2VydmljZSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgZGVwczogW1N0b3JlXSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBJbW5nT2lkY0NsaWVudE1vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KFxuICAgIG9pZGMwcHRpb25zOiBPaWRjQ2xpZW50Q29uZmlnXG4gICk6IE1vZHVsZVdpdGhQcm92aWRlcnM8SW1uZ09pZGNDbGllbnRNb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IEltbmdPaWRjQ2xpZW50TW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBPSURDX0NMSUVOVF9DT05GSUcsIHVzZVZhbHVlOiBvaWRjMHB0aW9ucyB9XSxcbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJndW1lbnRzLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9pbW5nLW9pZGMtY2xpZW50L3NyYy9saWIvbW9kZWxzL2FyZ3VtZW50cy5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXF1ZXN0QXJ1Z21lbnRzIHtcbiAgLy8gbWFuZGF0b3J5XG4gIHVybD86IHN0cmluZztcbiAgY2xpZW50X2lkPzogc3RyaW5nO1xuICByZWRpcmVjdF91cmk/OiBzdHJpbmc7XG4gIHJlc3BvbnNlX3R5cGU/OiBzdHJpbmc7XG4gIHNjb3BlPzogc3RyaW5nO1xuICBhdXRob3JpdHk/OiBzdHJpbmc7XG4gIC8vIG9wdGlvbmFsXG4gIGRhdGE/OiBhbnk7IC8vTk9TT05BUlxuICBzdGF0ZT86IHN0cmluZztcbiAgcHJvbXB0Pzogc3RyaW5nO1xuICBkaXNwbGF5Pzogc3RyaW5nO1xuICBtYXhfYWdlPzogbnVtYmVyO1xuICB1aV9sb2NhbGVzPzogc3RyaW5nO1xuICBpZF90b2tlbl9oaW50Pzogc3RyaW5nO1xuICBsb2dpbl9oaW50Pzogc3RyaW5nO1xuICBhY3JfdmFsdWVzPzogc3RyaW5nO1xuICByZXNvdXJjZT86IHN0cmluZztcbiAgcmVxdWVzdD86IGFueTsgLy9OT1NPTkFSXG4gIHJlcXVlc3RfdXJpPzogc3RyaW5nO1xuICBleHRyYVF1ZXJ5UGFyYW1zPzogYW55OyAvL05PU09OQVJcbn1cbiJdfQ==
@@ -0,0 +1,17 @@
1
+ export var OidcEvent;
2
+ (function (OidcEvent) {
3
+ OidcEvent["AccessTokenExpired"] = "addAccessTokenExpired";
4
+ OidcEvent["AccessTokenExpiring"] = "addAccessTokenExpiring";
5
+ OidcEvent["SilentRenewError"] = "AddSilentRenewError";
6
+ OidcEvent["UserLoaded"] = "addUserLoaded";
7
+ OidcEvent["UserUnloaded"] = "addUserUnloaded";
8
+ OidcEvent["UserSignedOut"] = "addUserSignedOut";
9
+ OidcEvent["UserSessionChanged"] = "addUserSessionChanged";
10
+ })(OidcEvent || (OidcEvent = {}));
11
+ export var StorageKeys;
12
+ (function (StorageKeys) {
13
+ StorageKeys["PopupCallback"] = "ngoidc:isPopupCallback";
14
+ StorageKeys["OidcSettings"] = "ngoidc:settings";
15
+ })(StorageKeys || (StorageKeys = {}));
16
+ export const ACTION_NO_ACTION = 'NO_ACTION';
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9pbW5nLW9pZGMtY2xpZW50L3NyYy9saWIvbW9kZWxzL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxTQVFYO0FBUkQsV0FBWSxTQUFTO0lBQ25CLHlEQUE0QyxDQUFBO0lBQzVDLDJEQUE4QyxDQUFBO0lBQzlDLHFEQUF3QyxDQUFBO0lBQ3hDLHlDQUE0QixDQUFBO0lBQzVCLDZDQUFnQyxDQUFBO0lBQ2hDLCtDQUFrQyxDQUFBO0lBQ2xDLHlEQUE0QyxDQUFBO0FBQzlDLENBQUMsRUFSVyxTQUFTLEtBQVQsU0FBUyxRQVFwQjtBQUVELE1BQU0sQ0FBTixJQUFZLFdBR1g7QUFIRCxXQUFZLFdBQVc7SUFDckIsdURBQXdDLENBQUE7SUFDeEMsK0NBQWdDLENBQUE7QUFDbEMsQ0FBQyxFQUhXLFdBQVcsS0FBWCxXQUFXLFFBR3RCO0FBRUQsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsV0FBVyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gT2lkY0V2ZW50IHtcbiAgQWNjZXNzVG9rZW5FeHBpcmVkID0gJ2FkZEFjY2Vzc1Rva2VuRXhwaXJlZCcsXG4gIEFjY2Vzc1Rva2VuRXhwaXJpbmcgPSAnYWRkQWNjZXNzVG9rZW5FeHBpcmluZycsXG4gIFNpbGVudFJlbmV3RXJyb3IgPSAnQWRkU2lsZW50UmVuZXdFcnJvcicsXG4gIFVzZXJMb2FkZWQgPSAnYWRkVXNlckxvYWRlZCcsXG4gIFVzZXJVbmxvYWRlZCA9ICdhZGRVc2VyVW5sb2FkZWQnLFxuICBVc2VyU2lnbmVkT3V0ID0gJ2FkZFVzZXJTaWduZWRPdXQnLFxuICBVc2VyU2Vzc2lvbkNoYW5nZWQgPSAnYWRkVXNlclNlc3Npb25DaGFuZ2VkJ1xufVxuXG5leHBvcnQgZW51bSBTdG9yYWdlS2V5cyB7XG4gIFBvcHVwQ2FsbGJhY2sgPSAnbmdvaWRjOmlzUG9wdXBDYWxsYmFjaycsXG4gIE9pZGNTZXR0aW5ncyA9ICduZ29pZGM6c2V0dGluZ3MnLFxufVxuXG5leHBvcnQgY29uc3QgQUNUSU9OX05PX0FDVElPTiA9ICdOT19BQ1RJT04nO1xuIl19
@@ -0,0 +1,3 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ export const OIDC_CLIENT_CONFIG = new InjectionToken('oidc-client-config');
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2lkYy1jbGllbnQtY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9pbW5nLW9pZGMtY2xpZW50L3NyYy9saWIvbW9kZWxzL29pZGMtY2xpZW50LWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBbUMvQyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLGNBQWMsQ0FDbEQsb0JBQW9CLENBQ3JCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIE9pZGNDbGllbnRDb25maWcge1xuICBhdWRpZW5jZTogc3RyaW5nO1xuICBjbGllbnRfaWQ6IHN0cmluZztcbiAgYXV0aG9yaXR5OiBzdHJpbmc7XG4gIHNjb3BlPzpcbiAgfCAnb3BlbmlkJ1xuICB8ICdwcm9maWxlJ1xuICB8ICdvZmZsaW5lX2FjY2VzcydcbiAgfCAnbmFtZSdcbiAgfCAnZ2l2ZW5fbmFtZSdcbiAgfCAnZmFtaWx5X25hbWUnXG4gIHwgJ25pY2tuYW1lJ1xuICB8ICdlbWFpbCdcbiAgfCAnZW1haWxfdmVyaWZpZWQnXG4gIHwgJ3BpY3R1cmUnXG4gIHwgJ2NyZWF0ZWRfYXQnXG4gIHwgJ2lkZW50aXRpZXMnXG4gIHwgJ3Bob25lJ1xuICB8ICdhZGRyZXNzJ1xuICB8IHN0cmluZzsgLy9OT1NPTkFSXG4gIHJlc3BvbnNlX3R5cGU/OlxuICB8ICdjb2RlJ1xuICB8ICd0b2tlbidcbiAgfCAnaWRfdG9rZW4nXG4gIHwgJ2NvZGUgdG9rZW4nXG4gIHwgJ2NvZGUgaWRfdG9rZW4nXG4gIHwgJ3Rva2VuIGlkX3Rva2VuJ1xuICB8ICdjb2RlIHRva2VuIGlkX3Rva2VuJ1xuICB8IHN0cmluZzsgLy9OT1NPTkFSXG4gIGF1dG9tYXRpY1NpbGVudFJlbmV3PzogYm9vbGVhbjtcbiAgZ2V0VXNlck1ldGFkYXRhOiBib29sZWFuO1xuICB1c2VDYWxsYmFja0ZsYWc/OiBib29sZWFuO1xufVxuZXhwb3J0IGNvbnN0IE9JRENfQ0xJRU5UX0NPTkZJRyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxPaWRjQ2xpZW50Q29uZmlnPihcbiAgJ29pZGMtY2xpZW50LWNvbmZpZydcbik7XG4iXX0=
@@ -0,0 +1,3 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ export const OIDC_LIBRARY_CONFIG = new InjectionToken('OIDC_LIBRARY_CONFIG');
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2lkYy1saWJyYXJ5LWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvaW1uZy1vaWRjLWNsaWVudC9zcmMvbGliL21vZGVscy9vaWRjLWxpYnJhcnktY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFZL0MsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxjQUFjLENBQ25ELHFCQUFxQixDQUN0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVzZXJNYW5hZ2VyU2V0dGluZ3MsIExvZ2dlciB9IGZyb20gJ29pZGMtY2xpZW50JztcblxuZXhwb3J0IGludGVyZmFjZSBPaWRjTGlicmFyeUNvbmZpZyB7XG4gIG9pZGNfY29uZmlnOiBVc2VyTWFuYWdlclNldHRpbmdzO1xuICB1c2VDYWxsYmFja0ZsYWc6IGJvb2xlYW47XG4gIGdldFVzZXJNZXRhZGF0YTogYm9vbGVhbjtcbiAgbG9nPzoge1xuICAgIGxvZ2dlcjogTG9nZ2VyO1xuICAgIGxldmVsOiBudW1iZXI7XG4gIH07XG59XG5leHBvcnQgY29uc3QgT0lEQ19MSUJSQVJZX0NPTkZJRyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxPaWRjTGlicmFyeUNvbmZpZz4oXG4gICdPSURDX0xJQlJBUllfQ09ORklHJ1xuKTtcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2lkYy11c2VyLXByb2ZpbGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ltbmctb2lkYy1jbGllbnQvc3JjL2xpYi9tb2RlbHMvb2lkYy11c2VyLXByb2ZpbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgT2lkY1VzZXJQcm9maWxlIHtcbiAgZW1haWw/OiBzdHJpbmc7XG4gIHBpY3R1cmU/OiBzdHJpbmc7XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2lkYy11c2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9pbW5nLW9pZGMtY2xpZW50L3NyYy9saWIvbW9kZWxzL29pZGMtdXNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuZXhwb3J0IGludGVyZmFjZSBJT2lkY1VzZXIge1xuICBpZF90b2tlbjogc3RyaW5nO1xuICBzZXNzaW9uX3N0YXRlPzogYW55OyAvL05PU09OQVJcbiAgYWNjZXNzX3Rva2VuOiBzdHJpbmc7XG4gIHJlZnJlc2hfdG9rZW4/OiBzdHJpbmc7XG4gIHRva2VuX3R5cGU6IHN0cmluZztcbiAgc2NvcGU6IHN0cmluZztcbiAgcHJvZmlsZTogYW55OyAvL05PU09OQVJcbiAgZXhwaXJlc19hdDogbnVtYmVyO1xuICBzdGF0ZT86IHN0cmluZztcbiAgdG9TdG9yYWdlU3RyaW5nPzogKCkgPT4gc3RyaW5nO1xuICByZWFkb25seSBleHBpcmVzX2luPzogbnVtYmVyO1xuICByZWFkb25seSBleHBpcmVkPzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgc2NvcGVzPzogc3RyaW5nW107XG59XG4iXX0=
@@ -0,0 +1,40 @@
1
+ import { OidcFacade } from '../+state/oidc.facade';
2
+ import { Injectable, Inject } from '@angular/core';
3
+ import { tap, switchMap } from 'rxjs/operators';
4
+ import { DOCUMENT } from '@angular/common';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "../+state/oidc.facade";
7
+ export class AuthGuard {
8
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
9
+ constructor(document, oidcFacade) {
10
+ this.document = document;
11
+ this.oidcFacade = oidcFacade;
12
+ this.isLoggedInPipe$ = this.oidcFacade.waitForAuthenticationLoaded().pipe(switchMap(() => this.oidcFacade.loggedIn$), tap(t => {
13
+ if (!t) {
14
+ this.oidcFacade.signinRedirect({
15
+ data: { redirect_url: this.document.location.href }
16
+ });
17
+ }
18
+ }));
19
+ } //NOSONAR
20
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
21
+ canActivate(route, state) {
22
+ return this.isLoggedInPipe$;
23
+ }
24
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
25
+ canActivateChild(childRoute, state) {
26
+ return this.isLoggedInPipe$;
27
+ }
28
+ }
29
+ AuthGuard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: AuthGuard, deps: [{ token: DOCUMENT }, { token: i1.OidcFacade }], target: i0.ɵɵFactoryTarget.Injectable });
30
+ AuthGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: AuthGuard, providedIn: 'root' });
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: AuthGuard, decorators: [{
32
+ type: Injectable,
33
+ args: [{
34
+ providedIn: 'root'
35
+ }]
36
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
37
+ type: Inject,
38
+ args: [DOCUMENT]
39
+ }] }, { type: i1.OidcFacade }]; } });
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvaW1uZy1vaWRjLWNsaWVudC9zcmMvbGliL3NlcnZpY2VzL2F1dGgtZ3VhcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7QUFLM0MsTUFBTSxPQUFPLFNBQVM7SUFDcEIsOERBQThEO0lBQzlELFlBQStDLFFBQWEsRUFBbUIsVUFBc0I7UUFBdEQsYUFBUSxHQUFSLFFBQVEsQ0FBSztRQUFtQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBRXJGLG9CQUFlLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQywyQkFBMkIsRUFBRSxDQUFDLElBQUksQ0FDbEYsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEVBQzFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNOLElBQUksQ0FBQyxDQUFDLEVBQUU7Z0JBQ04sSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUM7b0JBQzdCLElBQUksRUFBRSxFQUFFLFlBQVksRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUU7aUJBQ3BELENBQUMsQ0FBQzthQUNKO1FBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQVh1RyxDQUFDLENBQUMsU0FBUztJQWFwSCw2REFBNkQ7SUFDdEQsV0FBVyxDQUFDLEtBQTZCLEVBQUUsS0FBMEI7UUFDMUUsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQzlCLENBQUM7SUFFRCw2REFBNkQ7SUFDdEQsZ0JBQWdCLENBQUMsVUFBa0MsRUFBRSxLQUEwQjtRQUVwRixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDOUIsQ0FBQzs7c0dBeEJVLFNBQVMsa0JBRUEsUUFBUTswR0FGakIsU0FBUyxjQUZSLE1BQU07MkZBRVAsU0FBUztrQkFIckIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQUdjLE1BQU07MkJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENhbkFjdGl2YXRlLCBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBSb3V0ZXJTdGF0ZVNuYXBzaG90LCBDYW5BY3RpdmF0ZUNoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE9pZGNGYWNhZGUgfSBmcm9tICcuLi8rc3RhdGUvb2lkYy5mYWNhZGUnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YXAsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQXV0aEd1YXJkIGltcGxlbWVudHMgQ2FuQWN0aXZhdGUsIENhbkFjdGl2YXRlQ2hpbGQge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICBjb25zdHJ1Y3RvcihASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIHJlYWRvbmx5IGRvY3VtZW50OiBhbnksIHByaXZhdGUgcmVhZG9ubHkgb2lkY0ZhY2FkZTogT2lkY0ZhY2FkZSkgeyB9IC8vTk9TT05BUlxuXG4gIHB1YmxpYyByZWFkb25seSBpc0xvZ2dlZEluUGlwZSQgPSB0aGlzLm9pZGNGYWNhZGUud2FpdEZvckF1dGhlbnRpY2F0aW9uTG9hZGVkKCkucGlwZShcbiAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5vaWRjRmFjYWRlLmxvZ2dlZEluJCksXG4gICAgdGFwKHQgPT4ge1xuICAgICAgaWYgKCF0KSB7XG4gICAgICAgIHRoaXMub2lkY0ZhY2FkZS5zaWduaW5SZWRpcmVjdCh7XG4gICAgICAgICAgZGF0YTogeyByZWRpcmVjdF91cmw6IHRoaXMuZG9jdW1lbnQubG9jYXRpb24uaHJlZiB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pXG4gICk7XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICBwdWJsaWMgY2FuQWN0aXZhdGUocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90KTogT2JzZXJ2YWJsZTxib29sZWFuPiB7IC8vTk9TT05BUlxuICAgIHJldHVybiB0aGlzLmlzTG9nZ2VkSW5QaXBlJDtcbiAgfVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgcHVibGljIGNhbkFjdGl2YXRlQ2hpbGQoY2hpbGRSb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgc3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3QpIC8vTk9TT05BUlxuICAgIDogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuaXNMb2dnZWRJblBpcGUkO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,166 @@
1
+ /* eslint-disable @typescript-eslint/no-explicit-any */
2
+ import { isPlatformBrowser } from '@angular/common';
3
+ import { Inject, Injectable, PLATFORM_ID } from '@angular/core';
4
+ import { Log, OidcClient, UserManager, } from 'oidc-client';
5
+ import { from } from 'rxjs';
6
+ import { OidcEvent, StorageKeys } from '../models/constants';
7
+ import { switchMap } from 'rxjs/operators';
8
+ import { HttpClient } from '@angular/common/http';
9
+ import { OIDC_LIBRARY_CONFIG, } from '../models/oidc-library-config';
10
+ import * as i0 from "@angular/core";
11
+ import * as i1 from "@angular/common/http";
12
+ export class OidcService {
13
+ constructor(oidcLibraryConfig,
14
+ // eslint-disable-next-line @typescript-eslint/ban-types
15
+ platformId, httpClient) {
16
+ this.oidcLibraryConfig = oidcLibraryConfig;
17
+ this.platformId = platformId;
18
+ this.httpClient = httpClient;
19
+ const logSettings = this.oidcLibraryConfig.log;
20
+ let clientSettings = this.oidcLibraryConfig.oidc_config;
21
+ if (logSettings) {
22
+ Log.level = logSettings.level;
23
+ Log.logger = logSettings.logger;
24
+ }
25
+ if (clientSettings?.userStore != null) {
26
+ clientSettings = {
27
+ ...clientSettings,
28
+ userStore: clientSettings.userStore,
29
+ };
30
+ }
31
+ this._userManagerSettings = { ...clientSettings };
32
+ this.OidcUserManager = new UserManager(clientSettings);
33
+ this._oidcClient = new OidcClient(clientSettings);
34
+ }
35
+ getUserMetadata() {
36
+ return this.httpClient
37
+ .get(this.oidcLibraryConfig.oidc_config?.metadataUrl || '')
38
+ .pipe(switchMap((openidConfig) => this.httpClient.get(openidConfig.userinfo_endpoint)));
39
+ }
40
+ getUserManager() {
41
+ return this.OidcUserManager;
42
+ }
43
+ getOidcClient() {
44
+ return this._oidcClient;
45
+ }
46
+ getOidcUser() {
47
+ return from(this.OidcUserManager.getUser());
48
+ }
49
+ removeOidcUser() {
50
+ return from(this.OidcUserManager.removeUser());
51
+ }
52
+ registerOidcEvent(event, callback) {
53
+ switch (event) {
54
+ case OidcEvent.AccessTokenExpired:
55
+ this.OidcUserManager.events.addAccessTokenExpired(callback);
56
+ break;
57
+ case OidcEvent.AccessTokenExpiring:
58
+ this.OidcUserManager.events.addAccessTokenExpiring(callback);
59
+ break;
60
+ case OidcEvent.SilentRenewError:
61
+ this.OidcUserManager.events.addSilentRenewError(callback);
62
+ break;
63
+ case OidcEvent.UserLoaded:
64
+ this.OidcUserManager.events.addUserLoaded(callback);
65
+ break;
66
+ case OidcEvent.UserSessionChanged:
67
+ this.OidcUserManager.events.addUserSessionChanged(callback);
68
+ break;
69
+ case OidcEvent.UserSignedOut:
70
+ this.OidcUserManager.events.addUserSignedOut(callback);
71
+ break;
72
+ case OidcEvent.UserUnloaded:
73
+ this.OidcUserManager.events.addUserUnloaded(callback);
74
+ break;
75
+ default:
76
+ break;
77
+ }
78
+ }
79
+ removeOidcEvent(event, callback) {
80
+ switch (event) {
81
+ case OidcEvent.AccessTokenExpired:
82
+ this.OidcUserManager.events.removeAccessTokenExpired(callback);
83
+ break;
84
+ case OidcEvent.AccessTokenExpiring:
85
+ this.OidcUserManager.events.removeAccessTokenExpiring(callback);
86
+ break;
87
+ case OidcEvent.SilentRenewError:
88
+ this.OidcUserManager.events.removeSilentRenewError(callback);
89
+ break;
90
+ case OidcEvent.UserLoaded:
91
+ this.OidcUserManager.events.removeUserLoaded(callback);
92
+ break;
93
+ case OidcEvent.UserSessionChanged:
94
+ this.OidcUserManager.events.removeUserSessionChanged(callback);
95
+ break;
96
+ case OidcEvent.UserSignedOut:
97
+ this.OidcUserManager.events.removeUserSignedOut(callback);
98
+ break;
99
+ case OidcEvent.UserUnloaded:
100
+ this.OidcUserManager.events.removeUserUnloaded(callback);
101
+ break;
102
+ default:
103
+ break;
104
+ }
105
+ }
106
+ signInPopup(args) {
107
+ this.setCallbackInformation(true);
108
+ return from(this.OidcUserManager.signinPopup({ ...args }));
109
+ }
110
+ signInRedirect(args) {
111
+ this.setCallbackInformation(false);
112
+ return from(this.OidcUserManager.signinRedirect({ ...args }));
113
+ }
114
+ signOutPopup(args) {
115
+ this.setCallbackInformation(true);
116
+ return from(this.OidcUserManager.signoutPopup({ ...args }));
117
+ }
118
+ signOutRedirect(args) {
119
+ this.setCallbackInformation(false);
120
+ return from(this.OidcUserManager.signoutRedirect({ ...args }));
121
+ }
122
+ signInSilent(args) {
123
+ return from(this.OidcUserManager.signinSilent({ ...args }));
124
+ }
125
+ signinPopupCallback() {
126
+ return from(this.OidcUserManager.signinPopupCallback());
127
+ }
128
+ signinRedirectCallback() {
129
+ return from(this.OidcUserManager.signinRedirectCallback());
130
+ }
131
+ signoutPopupCallback() {
132
+ return from(this.OidcUserManager.signoutPopupCallback());
133
+ }
134
+ signoutRedirectCallback() {
135
+ return from(this.OidcUserManager.signoutRedirectCallback());
136
+ }
137
+ getSigninUrl(args) {
138
+ return from(this.OidcUserManager.createSigninRequest(args));
139
+ }
140
+ getSignoutUrl(args) {
141
+ return from(this.OidcUserManager.createSignoutRequest(args));
142
+ }
143
+ setCallbackInformation(isPopupCallback) {
144
+ // is browser and useCallbackFlag set to true or defaults to true
145
+ if (isPlatformBrowser(this.platformId) &&
146
+ this.oidcLibraryConfig.useCallbackFlag) {
147
+ localStorage.setItem(StorageKeys.PopupCallback, `${isPopupCallback}`);
148
+ localStorage.setItem(StorageKeys.OidcSettings, JSON.stringify(this._userManagerSettings));
149
+ }
150
+ }
151
+ }
152
+ OidcService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: OidcService, deps: [{ token: OIDC_LIBRARY_CONFIG }, { token: PLATFORM_ID }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
153
+ OidcService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: OidcService, providedIn: 'root' });
154
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: OidcService, decorators: [{
155
+ type: Injectable,
156
+ args: [{
157
+ providedIn: 'root',
158
+ }]
159
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
160
+ type: Inject,
161
+ args: [OIDC_LIBRARY_CONFIG]
162
+ }] }, { type: Object, decorators: [{
163
+ type: Inject,
164
+ args: [PLATFORM_ID]
165
+ }] }, { type: i1.HttpClient }]; } });
166
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2lkYy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9pbW5nLW9pZGMtY2xpZW50L3NyYy9saWIvc2VydmljZXMvb2lkYy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEUsT0FBTyxFQUNMLEdBQUcsRUFDSCxVQUFVLEVBR1YsV0FBVyxHQUVaLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFBRSxJQUFJLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDeEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUU3RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFFTCxtQkFBbUIsR0FDcEIsTUFBTSwrQkFBK0IsQ0FBQzs7O0FBS3ZDLE1BQU0sT0FBTyxXQUFXO0lBS3RCLFlBRW1CLGlCQUFvQztJQUNyRCx3REFBd0Q7SUFDbEIsVUFBa0IsRUFDdkMsVUFBc0I7UUFIdEIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUVmLGVBQVUsR0FBVixVQUFVLENBQVE7UUFDdkMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUV2QyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDO1FBQy9DLElBQUksY0FBYyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLENBQUM7UUFFeEQsSUFBSSxXQUFXLEVBQUU7WUFDZixHQUFHLENBQUMsS0FBSyxHQUFHLFdBQVcsQ0FBQyxLQUFLLENB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QWUsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRCxhQUFhLENBQUMsSUFBVTtRQUN0QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVPLHNCQUFzQixDQUFDLGVBQXdCO1FBQ3JELGlFQUFpRTtRQUNqRSxJQUNFLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7WUFDbEMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGVBQWUsRUFDdEM7WUFDQSxZQUFZLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUsR0FBRyxlQUFlLEVBQUUsQ0FBQyxDQUFDO1lBQ3RFLFlBQVksQ0FBQyxPQUFPLENBQ2xCLFdBQVcsQ0FBQyxZQUFZLEVBQ3hCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQzFDLENBQUM7U0FDSDtJQUNILENBQUM7O3dHQXhMVSxXQUFXLGtCQU1aLG1CQUFtQixhQUduQixXQUFXOzRHQVRWLFdBQVcsY0FGVixNQUFNOzJGQUVQLFdBQVc7a0JBSHZCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFPSSxNQUFNOzJCQUFDLG1CQUFtQjs4QkFHdUIsTUFBTTswQkFBdkQsTUFBTTsyQkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBQTEFURk9STV9JRCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgTG9nLFxuICBPaWRjQ2xpZW50LFxuICBTaWduaW5SZXF1ZXN0LFxuICBTaWdub3V0UmVxdWVzdCxcbiAgVXNlck1hbmFnZXIsXG4gIFVzZXJNYW5hZ2VyU2V0dGluZ3MsXG59IGZyb20gJ29pZGMtY2xpZW50JztcbmltcG9ydCB7IGZyb20sIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE9pZGNFdmVudCwgU3RvcmFnZUtleXMgfSBmcm9tICcuLi9tb2RlbHMvY29uc3RhbnRzJztcbmltcG9ydCB7IElPaWRjVXNlciB9IGZyb20gJy4uL21vZGVscy9vaWRjLXVzZXInO1xuaW1wb3J0IHsgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7XG4gIE9pZGNMaWJyYXJ5Q29uZmlnLFxuICBPSURDX0xJQlJBUllfQ09ORklHLFxufSBmcm9tICcuLi9tb2RlbHMvb2lkYy1saWJyYXJ5LWNvbmZpZyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBPaWRjU2VydmljZSB7XG4gIHB1YmxpYyByZWFkb25seSBPaWRjVXNlck1hbmFnZXI6IFVzZXJNYW5hZ2VyO1xuICBwcml2YXRlIHJlYWRvbmx5IF9vaWRjQ2xpZW50OiBPaWRjQ2xpZW50O1xuICBwcml2YXRlIHJlYWRvbmx5IF91c2VyTWFuYWdlclNldHRpbmdzOiBVc2VyTWFuYWdlclNldHRpbmdzO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoT0lEQ19MSUJSQVJZX0NPTkZJRylcbiAgICBwcml2YXRlIHJlYWRvbmx5IG9pZGNMaWJyYXJ5Q29uZmlnOiBPaWRjTGlicmFyeUNvbmZpZyxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10eXBlc1xuICAgIEBJbmplY3QoUExBVEZPUk1fSUQpIHByaXZhdGUgcmVhZG9ubHkgcGxhdGZvcm1JZDogT2JqZWN0LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgaHR0cENsaWVudDogSHR0cENsaWVudFxuICApIHtcbiAgICBjb25zdCBsb2dTZXR0aW5ncyA9IHRoaXMub2lkY0xpYnJhcnlDb25maWcubG9nO1xuICAgIGxldCBjbGllbnRTZXR0aW5ncyA9IHRoaXMub2lkY0xpYnJhcnlDb25maWcub2lkY19jb25maWc7XG5cbiAgICBpZiAobG9nU2V0dGluZ3MpIHtcbiAgICAgIExvZy5sZXZlbCA9IGxvZ1NldHRpbmdzLmxldmVsO1xuICAgICAgTG9nLmxvZ2dlciA9IGxvZ1NldHRpbmdzLmxvZ2dlcjtcbiAgICB9XG5cbiAgICBpZiAoY2xpZW50U2V0dGluZ3M/LnVzZXJTdG9yZSAhPSBudWxsKSB7XG4gICAgICBjbGllbnRTZXR0aW5ncyA9IHtcbiAgICAgICAgLi4uY2xpZW50U2V0dGluZ3MsXG4gICAgICAgIHVzZXJTdG9yZTogY2xpZW50U2V0dGluZ3MudXNlclN0b3JlLFxuICAgICAgfTtcbiAgICB9XG4gICAgdGhpcy5fdXNlck1hbmFnZXJTZXR0aW5ncyA9IHsgLi4uY2xpZW50U2V0dGluZ3MgfTtcbiAgICB0aGlzLk9pZGNVc2VyTWFuYWdlciA9IG5ldyBVc2VyTWFuYWdlcihjbGllbnRTZXR0aW5ncyk7XG4gICAgdGhpcy5fb2lkY0NsaWVudCA9IG5ldyBPaWRjQ2xpZW50KGNsaWVudFNldHRpbmdzKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRVc2VyTWV0YWRhdGEoKTogT2JzZXJ2YWJsZTx1bmtub3duPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudFxuICAgICAgLmdldDx7IHVzZXJpbmZvX2VuZHBvaW50OiBzdHJpbmc7IH0+KFxuICAgICAgICB0aGlzLm9pZGNMaWJyYXJ5Q29uZmlnLm9pZGNfY29uZmlnPy5tZXRhZGF0YVVybCB8fCAnJ1xuICAgICAgKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgob3BlbmlkQ29uZmlnKSA9PlxuICAgICAgICAgIHRoaXMuaHR0cENsaWVudC5nZXQ8dW5rbm93bj4ob3BlbmlkQ29uZmlnLnVzZXJpbmZvX2VuZHBvaW50KVxuICAgICAgICApXG4gICAgICApO1xuICB9XG5cbiAgZ2V0VXNlck1hbmFnZXIoKTogVXNlck1hbmFnZXIge1xuICAgIHJldHVybiB0aGlzLk9pZGNVc2VyTWFuYWdlcjtcbiAgfVxuXG4gIGdldE9pZGNDbGllbnQoKTogT2lkY0NsaWVudCB7XG4gICAgcmV0dXJuIHRoaXMuX29pZGNDbGllbnQ7XG4gIH1cblxuICBnZXRPaWRjVXNlcigpOiBPYnNlcnZhYmxlPElPaWRjVXNlciB8IG51bGw+IHtcbiAgICByZXR1cm4gZnJvbSh0aGlzLk9pZGNVc2VyTWFuYWdlci5nZXRVc2VyKCkpO1xuICB9XG5cbiAgcmVtb3ZlT2lkY1VzZXIoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIGZyb20odGhpcy5PaWRjVXNlck1hbmFnZXIucmVtb3ZlVXNlcigpKTtcbiAgfVxuXG4gIHJlZ2lzdGVyT2lkY0V2ZW50KFxuICAgIGV2ZW50OiBPaWRjRXZlbnQsXG4gICAgY2FsbGJhY2s6ICguLi5ldjogdW5rbm93bltdKSA9PiB2b2lkXG4gICk6IHZvaWQge1xuICAgIHN3aXRjaCAoZXZlbnQpIHtcbiAgICAgIGNhc2UgT2lkY0V2ZW50LkFjY2Vzc1Rva2VuRXhwaXJlZDpcbiAgICAgICAgdGhpcy5PaWRjVXNlck1hbmFnZXIuZXZlbnRzLmFkZEFjY2Vzc1Rva2VuRXhwaXJlZChjYWxsYmFjayk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBPaWRjRXZlbnQuQWNjZXNzVG9rZW5FeHBpcmluZzpcbiAgICAgICAgdGhpcy5PaWRjVXNlck1hbmFnZXIuZXZlbnRzLmFkZEFjY2Vzc1Rva2VuRXhwaXJpbmcoY2FsbGJhY2spO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgT2lkY0V2ZW50LlNpbGVudFJlbmV3RXJyb3I6XG4gICAgICAgIHRoaXMuT2lkY1VzZXJNYW5hZ2VyLmV2ZW50cy5hZGRTaWxlbnRSZW5ld0Vycm9yKGNhbGxiYWNrKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIE9pZGNFdmVudC5Vc2VyTG9hZGVkOlxuICAgICAgICB0aGlzLk9pZGNVc2VyTWFuYWdlci5ldmVudHMuYWRkVXNlckxvYWRlZChjYWxsYmFjayk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBPaWRjRXZlbnQuVXNlclNlc3Npb25DaGFuZ2VkOlxuICAgICAgICB0aGlzLk9pZGNVc2VyTWFuYWdlci5ldmVudHMuYWRkVXNlclNlc3Npb25DaGFuZ2VkKGNhbGxiYWNrKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIE9pZGNFdmVudC5Vc2VyU2lnbmVkT3V0OlxuICAgICAgICB0aGlzLk9pZGNVc2VyTWFuYWdlci5ldmVudHMuYWRkVXNlclNpZ25lZE91dChjYWxsYmFjayk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBPaWRjRXZlbnQuVXNlclVubG9hZGVkOlxuICAgICAgICB0aGlzLk9pZGNVc2VyTWFuYWdlci5ldmVudHMuYWRkVXNlclVubG9hZGVkKGNhbGxiYWNrKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICByZW1vdmVPaWRjRXZlbnQoXG4gICAgZXZlbnQ6IE9pZGNFdmVudCxcbiAgICBjYWxsYmFjazogKC4uLmV2OiB1bmtub3duW10pID0+IHZvaWRcbiAgKTogdm9pZCB7XG4gICAgc3dpdGNoIChldmVudCkge1xuICAgICAgY2FzZSBPaWRjRXZlbnQuQWNjZXNzVG9rZW5FeHBpcmVkOlxuICAgICAgICB0aGlzLk9pZGNVc2VyTWFuYWdlci5ldmVudHMucmVtb3ZlQWNjZXNzVG9rZW5FeHBpcmVkKGNhbGxiYWNrKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIE9pZGNFdmVudC5BY2Nlc3NUb2tlbkV4cGlyaW5nOlxuICAgICAgICB0aGlzLk9pZGNVc2VyTWFuYWdlci5ldmVudHMucmVtb3ZlQWNjZXNzVG9rZW5FeHBpcmluZyhjYWxsYmFjayk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBPaWRjRXZlbnQuU2lsZW50UmVuZXdFcnJvcjpcbiAgICAgICAgdGhpcy5PaWRjVXNlck1hbmFnZXIuZXZlbnRzLnJlbW92ZVNpbGVudFJlbmV3RXJyb3IoY2FsbGJhY2spO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgT2lkY0V2ZW50LlVzZXJMb2FkZWQ6XG4gICAgICAgIHRoaXMuT2lkY1VzZXJNYW5hZ2VyLmV2ZW50cy5yZW1vdmVVc2VyTG9hZGVkKGNhbGxiYWNrKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIE9pZGNFdmVudC5Vc2VyU2Vzc2lvbkNoYW5nZWQ6XG4gICAgICAgIHRoaXMuT2lkY1VzZXJNYW5hZ2VyLmV2ZW50cy5yZW1vdmVVc2VyU2Vzc2lvbkNoYW5nZWQoY2FsbGJhY2spO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgT2lkY0V2ZW50LlVzZXJTaWduZWRPdXQ6XG4gICAgICAgIHRoaXMuT2lkY1VzZXJNYW5hZ2VyLmV2ZW50cy5yZW1vdmVVc2VyU2lnbmVkT3V0KGNhbGxiYWNrKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIE9pZGNFdmVudC5Vc2VyVW5sb2FkZWQ6XG4gICAgICAgIHRoaXMuT2lkY1VzZXJNYW5hZ2VyLmV2ZW50cy5yZW1vdmVVc2VyVW5sb2FkZWQoY2FsbGJhY2spO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIHNpZ25JblBvcHVwKGFyZ3M/OiBhbnkpOiBPYnNlcnZhYmxlPElPaWRjVXNlcj4geyAvL05PU09OQVJcbiAgICB0aGlzLnNldENhbGxiYWNrSW5mb3JtYXRpb24odHJ1ZSk7XG5cbiAgICByZXR1cm4gZnJvbSh0aGlzLk9pZGNVc2VyTWFuYWdlci5zaWduaW5Qb3B1cCh7IC4uLmFyZ3MgfSkpO1xuICB9XG5cbiAgc2lnbkluUmVkaXJlY3QoYXJncz86IGFueSk6IE9ic2VydmFibGU8dm9pZD4geyAvL05PU09OQVJcbiAgICB0aGlzLnNldENhbGxiYWNrSW5mb3JtYXRpb24oZmFsc2UpO1xuXG4gICAgcmV0dXJuIGZyb20odGhpcy5PaWRjVXNlck1hbmFnZXIuc2lnbmluUmVkaXJlY3QoeyAuLi5hcmdzIH0pKTtcbiAgfVxuXG4gIHNpZ25PdXRQb3B1cChhcmdzPzogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHsgLy9OT1NPTkFSXG4gICAgdGhpcy5zZXRDYWxsYmFja0luZm9ybWF0aW9uKHRydWUpO1xuXG4gICAgcmV0dXJuIGZyb20odGhpcy5PaWRjVXNlck1hbmFnZXIuc2lnbm91dFBvcHVwKHsgLi4uYXJncyB9KSk7XG4gIH1cblxuICBzaWduT3V0UmVkaXJlY3QoYXJncz86IGFueSk6IE9ic2VydmFibGU8YW55PiB7IC8vTk9TT05BUlxuICAgIHRoaXMuc2V0Q2FsbGJhY2tJbmZvcm1hdGlvbihmYWxzZSk7XG4gICAgcmV0dXJuIGZyb20odGhpcy5PaWRjVXNlck1hbmFnZXIuc2lnbm91dFJlZGlyZWN0KHsgLi4uYXJncyB9KSk7XG4gIH1cblxuICBzaWduSW5TaWxlbnQoYXJncz86IGFueSk6IE9ic2VydmFibGU8SU9pZGNVc2VyPiB7IC8vTk9TT05BUlxuICAgIHJldHVybiBmcm9tKHRoaXMuT2lkY1VzZXJNYW5hZ2VyLnNpZ25pblNpbGVudCh7IC4uLmFyZ3MgfSkpO1xuICB9XG5cbiAgc2lnbmluUG9wdXBDYWxsYmFjaygpOiBPYnNlcnZhYmxlPGFueT4geyAvL05PU09OQVJcbiAgICByZXR1cm4gZnJvbSh0aGlzLk9pZGNVc2VyTWFuYWdlci5zaWduaW5Qb3B1cENhbGxiYWNrKCkpO1xuICB9XG5cbiAgc2lnbmluUmVkaXJlY3RDYWxsYmFjaygpOiBPYnNlcnZhYmxlPElPaWRjVXNlcj4ge1xuICAgIHJldHVybiBmcm9tKHRoaXMuT2lkY1VzZXJNYW5hZ2VyLnNpZ25pblJlZGlyZWN0Q2FsbGJhY2soKSk7XG4gIH1cblxuICBzaWdub3V0UG9wdXBDYWxsYmFjaygpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gZnJvbSh0aGlzLk9pZGNVc2VyTWFuYWdlci5zaWdub3V0UG9wdXBDYWxsYmFjaygpKTtcbiAgfVxuXG4gIHNpZ25vdXRSZWRpcmVjdENhbGxiYWNrKCk6IE9ic2VydmFibGU8YW55PiB7IC8vTk9TT05BUlxuICAgIHJldHVybiBmcm9tKHRoaXMuT2lkY1VzZXJNYW5hZ2VyLnNpZ25vdXRSZWRpcmVjdENhbGxiYWNrKCkpO1xuICB9XG5cbiAgZ2V0U2lnbmluVXJsKGFyZ3M/OiBhbnkpOiBPYnNlcnZhYmxlPFNpZ25pblJlcXVlc3Q+IHsgLy9OT1NPTkFSXG4gICAgcmV0dXJuIGZyb20odGhpcy5PaWRjVXNlck1hbmFnZXIuY3JlYXRlU2lnbmluUmVxdWVzdChhcmdzKSk7XG4gIH1cblxuICBnZXRTaWdub3V0VXJsKGFyZ3M/OiBhbnkpOiBPYnNlcnZhYmxlPFNpZ25vdXRSZXF1ZXN0PiB7IC8vTk9TT05BUlxuICAgIHJldHVybiBmcm9tKHRoaXMuT2lkY1VzZXJNYW5hZ2VyLmNyZWF0ZVNpZ25vdXRSZXF1ZXN0KGFyZ3MpKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0Q2FsbGJhY2tJbmZvcm1hdGlvbihpc1BvcHVwQ2FsbGJhY2s6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAvLyBpcyBicm93c2VyIGFuZCB1c2VDYWxsYmFja0ZsYWcgc2V0IHRvIHRydWUgb3IgZGVmYXVsdHMgdG8gdHJ1ZVxuICAgIGlmIChcbiAgICAgIGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkgJiZcbiAgICAgIHRoaXMub2lkY0xpYnJhcnlDb25maWcudXNlQ2FsbGJhY2tGbGFnXG4gICAgKSB7XG4gICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShTdG9yYWdlS2V5cy5Qb3B1cENhbGxiYWNrLCBgJHtpc1BvcHVwQ2FsbGJhY2t9YCk7XG4gICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcbiAgICAgICAgU3RvcmFnZUtleXMuT2lkY1NldHRpbmdzLFxuICAgICAgICBKU09OLnN0cmluZ2lmeSh0aGlzLl91c2VyTWFuYWdlclNldHRpbmdzKVxuICAgICAgKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,22 @@
1
+ import { switchMap, tap } from 'rxjs/operators';
2
+ export class PermissionsGuard {
3
+ constructor(oidcFacade, oidcUserFacade, router) {
4
+ this.oidcFacade = oidcFacade;
5
+ this.oidcUserFacade = oidcUserFacade;
6
+ this.router = router;
7
+ }
8
+ canActivate(
9
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
10
+ route,
11
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
12
+ state) {
13
+ return this.oidcFacade.waitForAuthenticationLoaded().pipe(switchMap(() => this.oidcUserFacade.hasPermissions(this.permissions)), tap((t) => {
14
+ if (!t) {
15
+ this.router.navigate(['oidc/access-denied'], {
16
+ relativeTo: this.router.routerState.root,
17
+ });
18
+ }
19
+ }));
20
+ }
21
+ }
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbnMuZ3VhcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ltbmctb2lkYy1jbGllbnQvc3JjL2xpYi9zZXJ2aWNlcy9wZXJtaXNzaW9ucy5ndWFyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR2hELE1BQU0sT0FBZ0IsZ0JBQWdCO0lBQ3BDLFlBQ21CLFVBQXNCLEVBQ3RCLGNBQThCLEVBQzlCLE1BQWM7UUFGZCxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixXQUFNLEdBQU4sTUFBTSxDQUFRO0lBQzlCLENBQUM7SUFJRyxXQUFXO0lBQ2hCLDZEQUE2RDtJQUM3RCxLQUE2QjtJQUM3Qiw2REFBNkQ7SUFDN0QsS0FBMEI7UUFFMUIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLDJCQUEyQixFQUFFLENBQUMsSUFBSSxDQUN2RCxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQ3JFLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ1IsSUFBSSxDQUFDLENBQUMsRUFBRTtnQkFDTixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLEVBQUU7b0JBQzNDLFVBQVUsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJO2lCQUN6QyxDQUFDLENBQUM7YUFDSjtRQUNILENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDYW5BY3RpdmF0ZSxcbiAgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCxcbiAgUm91dGVyU3RhdGVTbmFwc2hvdCxcbiAgUm91dGVyLFxufSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgT2lkY0ZhY2FkZSB9IGZyb20gJy4uLytzdGF0ZS9vaWRjLmZhY2FkZSc7XG5pbXBvcnQgeyBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IE9pZGNVc2VyRmFjYWRlIH0gZnJvbSAnLi4vK3N0YXRlL29pZGMtdXNlci5mYWNhZGUnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUGVybWlzc2lvbnNHdWFyZCBpbXBsZW1lbnRzIENhbkFjdGl2YXRlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBvaWRjRmFjYWRlOiBPaWRjRmFjYWRlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgb2lkY1VzZXJGYWNhZGU6IE9pZGNVc2VyRmFjYWRlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXJcbiAgKSB7fVxuXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBwZXJtaXNzaW9uczogc3RyaW5nW107XG5cbiAgcHVibGljIGNhbkFjdGl2YXRlKFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgICByb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICAgc3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3RcbiAgKTogT2JzZXJ2YWJsZTxib29sZWFuPiB8IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm9pZGNGYWNhZGUud2FpdEZvckF1dGhlbnRpY2F0aW9uTG9hZGVkKCkucGlwZShcbiAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLm9pZGNVc2VyRmFjYWRlLmhhc1Blcm1pc3Npb25zKHRoaXMucGVybWlzc2lvbnMpKSxcbiAgICAgIHRhcCgodCkgPT4ge1xuICAgICAgICBpZiAoIXQpIHtcbiAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJ29pZGMvYWNjZXNzLWRlbmllZCddLCB7XG4gICAgICAgICAgICByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlci5yb3V0ZXJTdGF0ZS5yb290LFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,35 @@
1
+ import { throwError } from 'rxjs';
2
+ import { first, catchError, mergeMap } from 'rxjs/operators';
3
+ import { HttpErrorResponse } from '@angular/common/http';
4
+ import { Injectable } from '@angular/core';
5
+ import { Store } from '@ngrx/store';
6
+ import { oidcQuery } from '../+state/oidc.selectors';
7
+ import * as oidcActions from '../+state/oidc.actions';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "@ngrx/store";
10
+ export class TokenInterceptorService {
11
+ constructor(store) {
12
+ this.store = store;
13
+ }
14
+ intercept(req, next) {
15
+ return this.store.select(oidcQuery.getAccessToken).pipe(first(), mergeMap(accessToken => {
16
+ if (accessToken) {
17
+ req = req.clone({
18
+ setHeaders: { Authorization: `Bearer ${accessToken}` },
19
+ });
20
+ }
21
+ return next.handle(req).pipe(catchError((err) => {
22
+ if (err instanceof HttpErrorResponse) {
23
+ this.store.dispatch(oidcActions.setHttpError(err));
24
+ }
25
+ return throwError(() => err);
26
+ }));
27
+ }));
28
+ }
29
+ }
30
+ TokenInterceptorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: TokenInterceptorService, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Injectable });
31
+ TokenInterceptorService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: TokenInterceptorService });
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: TokenInterceptorService, decorators: [{
33
+ type: Injectable
34
+ }], ctorParameters: function () { return [{ type: i1.Store }]; } });
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4taW50ZXJjZXB0b3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvaW1uZy1vaWRjLWNsaWVudC9zcmMvbGliL3NlcnZpY2VzL3Rva2VuLWludGVyY2VwdG9yLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM5QyxPQUFPLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3RCxPQUFPLEVBQXdELGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDL0csT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVyRCxPQUFPLEtBQUssV0FBVyxNQUFNLHdCQUF3QixDQUFDOzs7QUFHdEQsTUFBTSxPQUFPLHVCQUF1QjtJQUNsQyxZQUE2QixLQUF1QjtRQUF2QixVQUFLLEdBQUwsS0FBSyxDQUFrQjtJQUFJLENBQUM7SUFFekQsU0FBUyxDQUFDLEdBQXlCLEVBQUUsSUFBaUI7UUFDcEQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLENBQUMsSUFBSSxDQUNyRCxLQUFLLEVBQUUsRUFDUCxRQUFRLENBQUMsV0FBVyxDQUFDLEVBQUU7WUFDckIsSUFBSSxXQUFXLEVBQUU7Z0JBQ2YsR0FBRyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUM7b0JBQ2QsVUFBVSxFQUFFLEVBQUUsYUFBYSxFQUFFLFVBQVUsV0FBVyxFQUFFLEVBQUU7aUJBQ3ZELENBQUMsQ0FBQzthQUNKO1lBQ0QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FDMUIsVUFBVSxDQUFDLENBQUMsR0FBVSxFQUFFLEVBQUU7Z0JBQ3hCLElBQUksR0FBRyxZQUFZLGlCQUFpQixFQUFFO29CQUNwQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7aUJBQ3BEO2dCQUNELE9BQU8sVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQy9CLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDUixDQUFDLENBQ0EsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7b0hBckJVLHVCQUF1Qjt3SEFBdkIsdUJBQXVCOzJGQUF2Qix1QkFBdUI7a0JBRG5DLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaXJzdCwgY2F0Y2hFcnJvciwgbWVyZ2VNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBIdHRwSW50ZXJjZXB0b3IsIEh0dHBSZXF1ZXN0LCBIdHRwSGFuZGxlciwgSHR0cEV2ZW50LCBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgb2lkY1F1ZXJ5IH0gZnJvbSAnLi4vK3N0YXRlL29pZGMuc2VsZWN0b3JzJztcbmltcG9ydCB7IE9pZGNTdGF0ZSB9IGZyb20gJy4uLytzdGF0ZS9vaWRjLnJlZHVjZXInO1xuaW1wb3J0ICogYXMgb2lkY0FjdGlvbnMgZnJvbSAnLi4vK3N0YXRlL29pZGMuYWN0aW9ucyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUb2tlbkludGVyY2VwdG9yU2VydmljZSBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgc3RvcmU6IFN0b3JlPE9pZGNTdGF0ZT4pIHsgfVxuXG4gIGludGVyY2VwdChyZXE6IEh0dHBSZXF1ZXN0PHVua25vd24+LCBuZXh0OiBIdHRwSGFuZGxlcik6IE9ic2VydmFibGU8SHR0cEV2ZW50PHVua25vd24+PiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0KG9pZGNRdWVyeS5nZXRBY2Nlc3NUb2tlbikucGlwZShcbiAgICAgIGZpcnN0KCksXG4gICAgICBtZXJnZU1hcChhY2Nlc3NUb2tlbiA9PiB7XG4gICAgICAgIGlmIChhY2Nlc3NUb2tlbikge1xuICAgICAgICAgIHJlcSA9IHJlcS5jbG9uZSh7XG4gICAgICAgICAgICBzZXRIZWFkZXJzOiB7IEF1dGhvcml6YXRpb246IGBCZWFyZXIgJHthY2Nlc3NUb2tlbn1gIH0sXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcSkucGlwZShcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnI6IEVycm9yKSA9PiB7XG4gICAgICAgICAgICBpZiAoZXJyIGluc3RhbmNlb2YgSHR0cEVycm9yUmVzcG9uc2UpIHtcbiAgICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChvaWRjQWN0aW9ucy5zZXRIdHRwRXJyb3IoZXJyKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBlcnIpO1xuICAgICAgICAgIH0pKTtcbiAgICAgIH1cbiAgICAgICkpO1xuICB9XG59XG4iXX0=