@valtimo/security 12.14.0 → 13.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.
@@ -1,20 +1,20 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { Injectable, Component, NgModule, SecurityContext } from '@angular/core';
3
- import * as i1 from '@valtimo/config';
3
+ import * as i1 from '@valtimo/shared';
4
+ import { InterceptorSkip } from '@valtimo/shared';
4
5
  import * as i2 from 'ngx-logger';
6
+ import * as i2$1 from '@angular/common/http';
7
+ import { HTTP_INTERCEPTORS } from '@angular/common/http';
5
8
  import * as i1$1 from '@angular/router';
6
9
  import { RouterModule } from '@angular/router';
7
10
  import { CommonModule } from '@angular/common';
8
11
  import { throwError } from 'rxjs';
9
12
  import { catchError } from 'rxjs/operators';
10
- import * as i2$1 from '@angular/common/http';
11
- import { HttpHeaders, HTTP_INTERCEPTORS } from '@angular/common/http';
12
- import * as i1$2 from 'ngx-toastr';
13
13
  import moment from 'moment';
14
14
  import { getCSP } from 'csp-header';
15
15
 
16
16
  /*
17
- * Copyright 2015-2024 Ritense BV, the Netherlands.
17
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
18
18
  *
19
19
  * Licensed under EUPL, Version 1.2 (the "License");
20
20
  * you may not use this file except in compliance with the License.
@@ -39,10 +39,10 @@ class AuthGuardService {
39
39
  this.logger.debug('Delegating AuthGuard canActivate');
40
40
  return this.authGuardServiceProvider.canActivate(route, state);
41
41
  }
42
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AuthGuardService, deps: [{ token: i1.ConfigService }, { token: i0.Injector }, { token: i2.NGXLogger }], target: i0.ɵɵFactoryTarget.Injectable }); }
43
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AuthGuardService, providedIn: 'root' }); }
42
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AuthGuardService, deps: [{ token: i1.ConfigService }, { token: i0.Injector }, { token: i2.NGXLogger }], target: i0.ɵɵFactoryTarget.Injectable }); }
43
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AuthGuardService, providedIn: 'root' }); }
44
44
  }
45
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AuthGuardService, decorators: [{
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: AuthGuardService, decorators: [{
46
46
  type: Injectable,
47
47
  args: [{
48
48
  providedIn: 'root',
@@ -50,7 +50,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
50
50
  }], ctorParameters: () => [{ type: i1.ConfigService }, { type: i0.Injector }, { type: i2.NGXLogger }] });
51
51
 
52
52
  /*
53
- * Copyright 2015-2024 Ritense BV, the Netherlands.
53
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
54
54
  *
55
55
  * Licensed under EUPL, Version 1.2 (the "License");
56
56
  * you may not use this file except in compliance with the License.
@@ -76,35 +76,17 @@ class ErrorComponent {
76
76
  };
77
77
  }
78
78
  }
79
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ErrorComponent, deps: [{ token: i1$1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
80
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ErrorComponent, selector: "valtimo-error", ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"main-content\">\n <div class=\"container-fluid\">\n <div class=\"row\">\n <div class=\"col-12\">\n <h1>{{ err.error }}</h1>\n <p>{{ err.title }}</p>\n </div>\n </div>\n </div>\n</div>\n", styles: [""] }); }
79
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ErrorComponent, deps: [{ token: i1$1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
80
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: ErrorComponent, isStandalone: false, selector: "valtimo-error", ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"main-content\">\n <div class=\"container-fluid\">\n <div class=\"row\">\n <div class=\"col-12\">\n <h1>{{ err.error }}</h1>\n <p>{{ err.title }}</p>\n </div>\n </div>\n </div>\n</div>\n", styles: [""] }); }
81
81
  }
82
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ErrorComponent, decorators: [{
82
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ErrorComponent, decorators: [{
83
83
  type: Component,
84
- args: [{ selector: 'valtimo-error', template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"main-content\">\n <div class=\"container-fluid\">\n <div class=\"row\">\n <div class=\"col-12\">\n <h1>{{ err.error }}</h1>\n <p>{{ err.title }}</p>\n </div>\n </div>\n </div>\n</div>\n" }]
84
+ args: [{ selector: 'valtimo-error', standalone: false, template: "<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"main-content\">\n <div class=\"container-fluid\">\n <div class=\"row\">\n <div class=\"col-12\">\n <h1>{{ err.error }}</h1>\n <p>{{ err.title }}</p>\n </div>\n </div>\n </div>\n</div>\n" }]
85
85
  }], ctorParameters: () => [{ type: i1$1.ActivatedRoute }] });
86
86
 
87
- /*
88
- * Copyright 2015-2024 Ritense BV, the Netherlands.
89
- *
90
- * Licensed under EUPL, Version 1.2 (the "License");
91
- * you may not use this file except in compliance with the License.
92
- * You may obtain a copy of the License at
93
- *
94
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
95
- *
96
- * Unless required by applicable law or agreed to in writing, software
97
- * distributed under the License is distributed on an "AS IS" basis,
98
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
99
- * See the License for the specific language governing permissions and
100
- * limitations under the License.
101
- */
102
- const InterceptorSkip = 'X-Skip-Interceptor';
103
- const InterceptorSkipHeader = new HttpHeaders().set(InterceptorSkip, 'all');
104
-
105
87
  class HttpErrorInterceptor {
106
- constructor(toastr) {
107
- this.toastr = toastr;
88
+ constructor(globalNotificationService) {
89
+ this.globalNotificationService = globalNotificationService;
108
90
  }
109
91
  intercept(request, next) {
110
92
  let skipStatusCodes = [];
@@ -144,25 +126,26 @@ class HttpErrorInterceptor {
144
126
  errorMessage = `Error Code: ${error?.status} </br>Message: ${error?.message}`;
145
127
  }
146
128
  }
147
- this.toastr.warning(`${errorMessage}`, `An unexpected error occurred`, {
148
- enableHtml: true,
149
- tapToDismiss: false,
129
+ this.globalNotificationService.showToast({
130
+ title: 'An unexpected error occurred',
131
+ caption: errorMessage,
132
+ type: 'error',
150
133
  });
151
134
  return throwError(() => error);
152
135
  }));
153
136
  }
154
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: HttpErrorInterceptor, deps: [{ token: i1$2.ToastrService }], target: i0.ɵɵFactoryTarget.Injectable }); }
155
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: HttpErrorInterceptor, providedIn: 'root' }); }
137
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: HttpErrorInterceptor, deps: [{ token: i1.GlobalNotificationService }], target: i0.ɵɵFactoryTarget.Injectable }); }
138
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: HttpErrorInterceptor, providedIn: 'root' }); }
156
139
  }
157
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: HttpErrorInterceptor, decorators: [{
140
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: HttpErrorInterceptor, decorators: [{
158
141
  type: Injectable,
159
142
  args: [{
160
143
  providedIn: 'root',
161
144
  }]
162
- }], ctorParameters: () => [{ type: i1$2.ToastrService }] });
145
+ }], ctorParameters: () => [{ type: i1.GlobalNotificationService }] });
163
146
 
164
147
  /*
165
- * Copyright 2015-2024 Ritense BV, the Netherlands.
148
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
166
149
  *
167
150
  * Licensed under EUPL, Version 1.2 (the "License");
168
151
  * you may not use this file except in compliance with the License.
@@ -183,11 +166,11 @@ const routes = [
183
166
  { path: '503', component: ErrorComponent, data: { title: 'Service Unavailable', error: 503 } },
184
167
  ];
185
168
  class ErrorRoutingModule {
186
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ErrorRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
187
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: ErrorRoutingModule, imports: [CommonModule, i1$1.RouterModule], exports: [RouterModule] }); }
188
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ErrorRoutingModule, providers: [{ provide: HTTP_INTERCEPTORS, useClass: HttpErrorInterceptor, multi: true }], imports: [CommonModule, RouterModule.forChild(routes), RouterModule] }); }
169
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ErrorRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
170
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.14", ngImport: i0, type: ErrorRoutingModule, imports: [CommonModule, i1$1.RouterModule], exports: [RouterModule] }); }
171
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ErrorRoutingModule, providers: [{ provide: HTTP_INTERCEPTORS, useClass: HttpErrorInterceptor, multi: true }], imports: [CommonModule, RouterModule.forChild(routes), RouterModule] }); }
189
172
  }
190
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ErrorRoutingModule, decorators: [{
173
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ErrorRoutingModule, decorators: [{
191
174
  type: NgModule,
192
175
  args: [{
193
176
  declarations: [],
@@ -215,15 +198,15 @@ class ZoneOffsetInterceptor {
215
198
  const momentOffset = moment.utc(duration.asMilliseconds()).format('HH:mm');
216
199
  return `${isNegative ? '+' : '-'}${momentOffset}`;
217
200
  }
218
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ZoneOffsetInterceptor, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
219
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ZoneOffsetInterceptor }); }
201
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ZoneOffsetInterceptor, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
202
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ZoneOffsetInterceptor }); }
220
203
  }
221
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ZoneOffsetInterceptor, decorators: [{
204
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ZoneOffsetInterceptor, decorators: [{
222
205
  type: Injectable
223
206
  }] });
224
207
 
225
208
  /*
226
- * Copyright 2015-2024 Ritense BV, the Netherlands.
209
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
227
210
  *
228
211
  * Licensed under EUPL, Version 1.2 (the "License");
229
212
  * you may not use this file except in compliance with the License.
@@ -239,7 +222,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
239
222
  */
240
223
 
241
224
  /*
242
- * Copyright 2015-2024 Ritense BV, the Netherlands.
225
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
243
226
  *
244
227
  * Licensed under EUPL, Version 1.2 (the "License");
245
228
  * you may not use this file except in compliance with the License.
@@ -254,19 +237,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
254
237
  * limitations under the License.
255
238
  */
256
239
  class SecurityModule {
257
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SecurityModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
258
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: SecurityModule, declarations: [ErrorComponent], imports: [ErrorRoutingModule], exports: [ErrorComponent] }); }
259
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SecurityModule, providers: [
240
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SecurityModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
241
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.14", ngImport: i0, type: SecurityModule, imports: [ErrorRoutingModule] }); }
242
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SecurityModule, providers: [
260
243
  AuthGuardService,
261
244
  { provide: HTTP_INTERCEPTORS, useClass: ZoneOffsetInterceptor, multi: true },
262
245
  ], imports: [ErrorRoutingModule] }); }
263
246
  }
264
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SecurityModule, decorators: [{
247
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SecurityModule, decorators: [{
265
248
  type: NgModule,
266
249
  args: [{
267
- declarations: [ErrorComponent],
268
250
  imports: [ErrorRoutingModule],
269
- exports: [ErrorComponent],
270
251
  providers: [
271
252
  AuthGuardService,
272
253
  { provide: HTTP_INTERCEPTORS, useClass: ZoneOffsetInterceptor, multi: true },
@@ -275,7 +256,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
275
256
  }] });
276
257
 
277
258
  /*
278
- * Copyright 2015-2024 Ritense BV, the Netherlands.
259
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
260
+ *
261
+ * Licensed under EUPL, Version 1.2 (the "License");
262
+ * you may not use this file except in compliance with the License.
263
+ * You may obtain a copy of the License at
264
+ *
265
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
266
+ *
267
+ * Unless required by applicable law or agreed to in writing, software
268
+ * distributed under the License is distributed on an "AS IS" basis,
269
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
270
+ * See the License for the specific language governing permissions and
271
+ * limitations under the License.
272
+ */
273
+
274
+ /*
275
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
279
276
  *
280
277
  * Licensed under EUPL, Version 1.2 (the "License");
281
278
  * you may not use this file except in compliance with the License.
@@ -326,10 +323,10 @@ class UserProviderService {
326
323
  this.logger.debug('updateEmailNotificationSettings', settings);
327
324
  return this.http.put(`${this.valtimoApiConfig.endpointUri}v1/email-notification-settings`, settings);
328
325
  }
329
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: UserProviderService, deps: [{ token: i1.ConfigService }, { token: i0.Injector }, { token: i2$1.HttpClient }, { token: i2.NGXLogger }], target: i0.ɵɵFactoryTarget.Injectable }); }
330
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: UserProviderService, providedIn: 'root' }); }
326
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: UserProviderService, deps: [{ token: i1.ConfigService }, { token: i0.Injector }, { token: i2$1.HttpClient }, { token: i2.NGXLogger }], target: i0.ɵɵFactoryTarget.Injectable }); }
327
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: UserProviderService, providedIn: 'root' }); }
331
328
  }
332
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: UserProviderService, decorators: [{
329
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: UserProviderService, decorators: [{
333
330
  type: Injectable,
334
331
  args: [{
335
332
  providedIn: 'root',
@@ -337,7 +334,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
337
334
  }], ctorParameters: () => [{ type: i1.ConfigService }, { type: i0.Injector }, { type: i2$1.HttpClient }, { type: i2.NGXLogger }] });
338
335
 
339
336
  /*
340
- * Copyright 2015-2024 Ritense BV, the Netherlands.
337
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
341
338
  *
342
339
  * Licensed under EUPL, Version 1.2 (the "License");
343
340
  * you may not use this file except in compliance with the License.
@@ -355,7 +352,7 @@ const CSP_HTTP_EQUIV = 'Content-Security-Policy';
355
352
  const CSP_META_ID = 'CSP_META';
356
353
 
357
354
  /*
358
- * Copyright 2015-2024 Ritense BV, the Netherlands.
355
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
359
356
  *
360
357
  * Licensed under EUPL, Version 1.2 (the "License");
361
358
  * you may not use this file except in compliance with the License.
@@ -371,7 +368,7 @@ const CSP_META_ID = 'CSP_META';
371
368
  */
372
369
 
373
370
  /*
374
- * Copyright 2015-2024 Ritense BV, the Netherlands.
371
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
375
372
  *
376
373
  * Licensed under EUPL, Version 1.2 (the "License");
377
374
  * you may not use this file except in compliance with the License.
@@ -419,7 +416,7 @@ const initializeCsp = (logger, configService, document, domSanitizer) => async (
419
416
  };
420
417
 
421
418
  /*
422
- * Copyright 2015-2024 Ritense BV, the Netherlands.
419
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
423
420
  *
424
421
  * Licensed under EUPL, Version 1.2 (the "License");
425
422
  * you may not use this file except in compliance with the License.
@@ -435,7 +432,7 @@ const initializeCsp = (logger, configService, document, domSanitizer) => async (
435
432
  */
436
433
 
437
434
  /*
438
- * Copyright 2015-2024 Ritense BV, the Netherlands.
435
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
439
436
  *
440
437
  * Licensed under EUPL, Version 1.2 (the "License");
441
438
  * you may not use this file except in compliance with the License.
@@ -457,5 +454,5 @@ const initializeCsp = (logger, configService, document, domSanitizer) => async (
457
454
  * Generated bundle index. Do not edit.
458
455
  */
459
456
 
460
- export { AuthGuardService, CSP_HTTP_EQUIV, CSP_META_ID, ErrorComponent, InterceptorSkip, InterceptorSkipHeader, SecurityModule, UserProviderService, initializeCsp };
457
+ export { AuthGuardService, CSP_HTTP_EQUIV, CSP_META_ID, ErrorComponent, SecurityModule, UserProviderService, initializeCsp };
461
458
  //# sourceMappingURL=valtimo-security.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"valtimo-security.mjs","sources":["../../../../projects/valtimo/security/src/lib/guard/auth-guard.service.ts","../../../../projects/valtimo/security/src/lib/error/error.component.ts","../../../../projects/valtimo/security/src/lib/error/error.component.html","../../../../projects/valtimo/security/src/lib/error/error.ts","../../../../projects/valtimo/security/src/lib/error/http-error.interceptor.ts","../../../../projects/valtimo/security/src/lib/error/error-routing.module.ts","../../../../projects/valtimo/security/src/lib/interceptors/zone-offset.interceptor.ts","../../../../projects/valtimo/security/src/lib/interceptors/index.ts","../../../../projects/valtimo/security/src/lib/security.module.ts","../../../../projects/valtimo/security/src/lib/user-provider.service.ts","../../../../projects/valtimo/security/src/lib/constants/csp.constant.ts","../../../../projects/valtimo/security/src/lib/constants/index.ts","../../../../projects/valtimo/security/src/lib/initializers/initialize-csp.ts","../../../../projects/valtimo/security/src/lib/initializers/index.ts","../../../../projects/valtimo/security/src/public_api.ts","../../../../projects/valtimo/security/src/valtimo-security.ts"],"sourcesContent":["/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable, Injector} from '@angular/core';\nimport {ActivatedRouteSnapshot, CanActivate, RouterStateSnapshot, UrlTree} from '@angular/router';\nimport {NGXLogger} from 'ngx-logger';\nimport {Observable} from 'rxjs';\nimport {ConfigService} from '@valtimo/config';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AuthGuardService implements CanActivate {\n private readonly authGuardServiceProvider: CanActivate;\n\n constructor(\n configService: ConfigService,\n private injector: Injector,\n protected logger: NGXLogger\n ) {\n this.authGuardServiceProvider = injector.get<any>(\n configService.config.authentication.authProviders.guardServiceProvider\n );\n this.logger.debug('Loading AuthGuardServiceProvider service', this.authGuardServiceProvider);\n }\n\n canActivate(\n route: ActivatedRouteSnapshot,\n state: RouterStateSnapshot\n ): Observable<boolean | UrlTree> | Promise<boolean | UrlTree> | boolean | UrlTree {\n this.logger.debug('Delegating AuthGuard canActivate');\n return this.authGuardServiceProvider.canActivate(route, state);\n }\n}\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, OnInit} from '@angular/core';\nimport {ActivatedRoute} from '@angular/router';\nimport {Error} from './error';\n\n@Component({\n selector: 'valtimo-error',\n templateUrl: './error.component.html',\n styleUrls: ['./error.component.css'],\n})\nexport class ErrorComponent implements OnInit {\n public err: Error;\n\n constructor(private activatedRoute: ActivatedRoute) {}\n\n ngOnInit() {\n if (this.activatedRoute.snapshot.data) {\n this.err = {\n title: this.activatedRoute.snapshot.data.title,\n error: this.activatedRoute.snapshot.data.error,\n };\n }\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"main-content\">\n <div class=\"container-fluid\">\n <div class=\"row\">\n <div class=\"col-12\">\n <h1>{{ err.error }}</h1>\n <p>{{ err.title }}</p>\n </div>\n </div>\n </div>\n</div>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {HttpHeaders} from '@angular/common/http';\n\nexport const InterceptorSkip = 'X-Skip-Interceptor';\nexport const InterceptorSkipHeader = new HttpHeaders().set(InterceptorSkip, 'all');\n\nexport interface Error {\n title: string;\n error: number;\n}\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport {\n HttpErrorResponse,\n HttpEvent,\n HttpHandler,\n HttpInterceptor,\n HttpRequest,\n} from '@angular/common/http';\nimport {Injectable} from '@angular/core';\nimport {ToastrService} from 'ngx-toastr';\nimport {Observable, throwError} from 'rxjs';\nimport {catchError} from 'rxjs/operators';\nimport {InterceptorSkip} from './error';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class HttpErrorInterceptor implements HttpInterceptor {\n constructor(private readonly toastr: ToastrService) {}\n\n intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\n let skipStatusCodes: string[] = [];\n let response$: Observable<HttpEvent<any>>;\n if (request.headers && request.headers.has(InterceptorSkip)) {\n skipStatusCodes = request.headers.get(InterceptorSkip)?.split(',') ?? [];\n const headers = request.headers.delete(InterceptorSkip);\n response$ = next.handle(request.clone({headers}));\n } else {\n response$ = next.handle(request);\n }\n\n return response$.pipe(\n catchError((error: HttpErrorResponse) => {\n if (\n skipStatusCodes.find(\n skipStatusCode => skipStatusCode === 'all' || skipStatusCode === error.status.toString()\n )\n ) {\n return throwError(() => error);\n }\n let errorMessage = '';\n if (error?.error instanceof ErrorEvent) {\n // client-side error\n errorMessage = `Error: ${error.error.message}`;\n } else {\n // server-side error\n if (error?.error?.errors) {\n errorMessage = error?.error?.errors;\n } else if (error?.error?.title && error?.error?.detail) {\n errorMessage = `${error?.error?.title}. Details: </br>${error?.error?.detail}`;\n } else if (error?.error?.title && error?.error?.referenceId) {\n errorMessage = `${error?.error?.title}. Reference ID: ${error?.error?.referenceId}`;\n } else if (error?.error?.message) {\n errorMessage = error?.error?.message;\n } else {\n errorMessage = `Error Code: ${error?.status} </br>Message: ${error?.message}`;\n }\n }\n this.toastr.warning(`${errorMessage}`, `An unexpected error occurred`, {\n enableHtml: true,\n tapToDismiss: false,\n });\n return throwError(() => error);\n })\n );\n }\n}\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {RouterModule, Routes} from '@angular/router';\nimport {CommonModule} from '@angular/common';\nimport {ErrorComponent} from './error.component';\nimport {HttpErrorInterceptor} from './http-error.interceptor';\nimport {HTTP_INTERCEPTORS} from '@angular/common/http';\n\nconst routes: Routes = [\n {path: '403', component: ErrorComponent, data: {title: 'Access Forbidden', error: 403}},\n {path: '404', component: ErrorComponent, data: {title: 'Not Found', error: 404}},\n {path: '500', component: ErrorComponent, data: {title: 'Internal Server Error', error: 500}},\n {path: '503', component: ErrorComponent, data: {title: 'Service Unavailable', error: 503}},\n];\n\n@NgModule({\n declarations: [],\n imports: [CommonModule, RouterModule.forChild(routes)],\n exports: [RouterModule],\n providers: [{provide: HTTP_INTERCEPTORS, useClass: HttpErrorInterceptor, multi: true}],\n})\nexport class ErrorRoutingModule {}\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {HttpEvent, HttpHandler, HttpInterceptor, HttpRequest} from '@angular/common/http';\nimport {Injectable} from '@angular/core';\nimport {Observable} from 'rxjs';\nimport moment from 'moment';\n\n@Injectable()\nexport class ZoneOffsetInterceptor implements HttpInterceptor {\n public intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\n const modifiedReq = req.clone({\n headers: req.headers.set('X-Timezone-Offset', this.getFormattedZoneOffset()),\n });\n return next.handle(modifiedReq);\n }\n\n private getFormattedZoneOffset(): string {\n let offset = new Date().getTimezoneOffset();\n let isNegative = false;\n\n if (offset < 0) {\n isNegative = true;\n offset = offset * -1;\n }\n\n const duration = moment.duration(offset, 'minutes');\n const momentOffset = moment.utc(duration.asMilliseconds()).format('HH:mm');\n\n return `${isNegative ? '+' : '-'}${momentOffset}`;\n }\n}\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './zone-offset.interceptor';\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {ErrorComponent} from './error/error.component';\nimport {ErrorRoutingModule} from './error/error-routing.module';\nimport {AuthGuardService} from './guard/auth-guard.service';\nimport {HTTP_INTERCEPTORS} from '@angular/common/http';\nimport {ZoneOffsetInterceptor} from './interceptors';\n\n@NgModule({\n declarations: [ErrorComponent],\n imports: [ErrorRoutingModule],\n exports: [ErrorComponent],\n providers: [\n AuthGuardService,\n {provide: HTTP_INTERCEPTORS, useClass: ZoneOffsetInterceptor, multi: true},\n ],\n})\nexport class SecurityModule {}\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable, Injector} from '@angular/core';\nimport {Observable, ReplaySubject} from 'rxjs';\nimport {NGXLogger} from 'ngx-logger';\nimport {\n ConfigService,\n EmailNotificationService,\n EmailNotificationSettings,\n UserIdentity,\n UserService,\n} from '@valtimo/config';\nimport {HttpClient} from '@angular/common/http';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class UserProviderService implements UserService, EmailNotificationService {\n private readonly userService: UserService;\n private valtimoApiConfig: {\n endpointUri: string;\n };\n\n constructor(\n private configService: ConfigService,\n private injector: Injector,\n private http: HttpClient,\n private logger: NGXLogger\n ) {\n this.valtimoApiConfig = configService.config.valtimoApi;\n this.userService = injector.get<any>(\n configService.config.authentication.authProviders.userServiceProvider\n );\n this.logger.debug('Loading UserProviderService service', this.userService);\n }\n\n getUserSubject(): ReplaySubject<UserIdentity> {\n this.logger.debug('Delegating UserProviderService::getUserIdentity');\n return this.userService.getUserSubject();\n }\n\n logout(): void {\n this.logger.debug('Delegating UserProviderService::logout');\n return this.userService.logout();\n }\n\n async getToken(): Promise<string> {\n this.logger.debug('Delegating UserProviderService::getToken');\n return this.userService.getToken();\n }\n\n async updateToken(minValidity: number): Promise<boolean> {\n this.logger.debug('Delegating UserProviderService::updateToken');\n if (this.userService.updateToken) {\n return this.userService.updateToken(minValidity);\n }\n\n return new Promise(resolve => resolve(true));\n }\n\n public getEmailNotificationSettings(): Observable<EmailNotificationSettings> {\n this.logger.debug('getEmailNotificationSettings');\n return this.http.get<EmailNotificationSettings>(\n `${this.valtimoApiConfig.endpointUri}v1/email-notification-settings`\n );\n }\n\n public updateEmailNotificationSettings(\n settings: EmailNotificationSettings\n ): Observable<EmailNotificationSettings> {\n this.logger.debug('updateEmailNotificationSettings', settings);\n return this.http.put<EmailNotificationSettings>(\n `${this.valtimoApiConfig.endpointUri}v1/email-notification-settings`,\n settings\n );\n }\n}\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst CSP_HTTP_EQUIV = 'Content-Security-Policy';\n\nconst CSP_META_ID = 'CSP_META';\n\nexport {CSP_HTTP_EQUIV, CSP_META_ID};\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './csp.constant';\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NGXLogger} from 'ngx-logger';\nimport {ConfigService} from '@valtimo/config';\nimport {CSP_HTTP_EQUIV, CSP_META_ID} from '../constants';\nimport {DomSanitizer} from '@angular/platform-browser';\nimport {CSPHeaderParams, getCSP} from 'csp-header';\nimport {SecurityContext} from '@angular/core';\n\nconst getSanitizedCspString = (\n cspHeaderParams: CSPHeaderParams,\n domSanitizer: DomSanitizer\n): string => {\n const csp = getCSP(cspHeaderParams);\n return domSanitizer.sanitize(SecurityContext.HTML, csp);\n};\n\nconst getCspHeaderElement = (\n cspHeaderParams: CSPHeaderParams,\n domSanitizer: DomSanitizer,\n document: Document\n): HTMLMetaElement => {\n const csp = getSanitizedCspString(cspHeaderParams, domSanitizer);\n const cspMeta = document.createElement('meta');\n\n cspMeta.httpEquiv = CSP_HTTP_EQUIV;\n cspMeta.content = csp;\n cspMeta.id = CSP_META_ID;\n\n return cspMeta;\n};\n\nconst appendElementToHead = (element: HTMLMetaElement, document: Document): void => {\n document.head.appendChild(element);\n};\n\nconst isElementLoaded = async (elementId: string, document: Document): Promise<boolean> => {\n while (document.getElementById(elementId) === null) {\n await new Promise(resolve => requestAnimationFrame(resolve));\n }\n return !!document.getElementById(elementId);\n};\n\nexport const initializeCsp =\n (\n logger: NGXLogger,\n configService: ConfigService,\n document: Document,\n domSanitizer: DomSanitizer\n ): (() => Promise<boolean>) =>\n async (): Promise<boolean> => {\n const cspHeaderParams = configService?.config?.csp;\n\n if (cspHeaderParams) {\n logger.log('Create CSP header element from:', cspHeaderParams);\n\n const cspHeaderElement = getCspHeaderElement(cspHeaderParams, domSanitizer, document);\n\n appendElementToHead(cspHeaderElement, document);\n\n return await isElementLoaded(CSP_META_ID, document);\n }\n\n logger.log('No CSP config present.');\n\n return true;\n };\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './initialize-csp';\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*\n * Public API Surface of security\n */\nexport * from './lib/guard/auth-guard.service';\nexport * from './lib/security.module';\nexport * from './lib/error/error';\nexport * from './lib/error/error.component';\nexport * from './lib/user-provider.service';\nexport * from './lib/constants';\nexport * from './lib/initializers';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1","i2","i3"],"mappings":"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"}
1
+ {"version":3,"file":"valtimo-security.mjs","sources":["../../../../projects/valtimo/security/src/lib/guard/auth-guard.service.ts","../../../../projects/valtimo/security/src/lib/error/error.component.ts","../../../../projects/valtimo/security/src/lib/error/error.component.html","../../../../projects/valtimo/security/src/lib/error/http-error.interceptor.ts","../../../../projects/valtimo/security/src/lib/error/error-routing.module.ts","../../../../projects/valtimo/security/src/lib/interceptors/zone-offset.interceptor.ts","../../../../projects/valtimo/security/src/lib/interceptors/index.ts","../../../../projects/valtimo/security/src/lib/security.module.ts","../../../../projects/valtimo/security/src/lib/error/error.ts","../../../../projects/valtimo/security/src/lib/user-provider.service.ts","../../../../projects/valtimo/security/src/lib/constants/csp.constant.ts","../../../../projects/valtimo/security/src/lib/constants/index.ts","../../../../projects/valtimo/security/src/lib/initializers/initialize-csp.ts","../../../../projects/valtimo/security/src/lib/initializers/index.ts","../../../../projects/valtimo/security/src/public_api.ts","../../../../projects/valtimo/security/src/valtimo-security.ts"],"sourcesContent":["/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable, Injector} from '@angular/core';\nimport {\n ActivatedRouteSnapshot,\n CanActivate,\n GuardResult,\n MaybeAsync,\n RouterStateSnapshot,\n} from '@angular/router';\nimport {NGXLogger} from 'ngx-logger';\nimport {ConfigService} from '@valtimo/shared';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AuthGuardService implements CanActivate {\n private readonly authGuardServiceProvider: CanActivate;\n\n constructor(\n configService: ConfigService,\n private injector: Injector,\n protected logger: NGXLogger\n ) {\n this.authGuardServiceProvider = injector.get<any>(\n configService.config.authentication.authProviders.guardServiceProvider\n );\n this.logger.debug('Loading AuthGuardServiceProvider service', this.authGuardServiceProvider);\n }\n\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): MaybeAsync<GuardResult> {\n this.logger.debug('Delegating AuthGuard canActivate');\n return this.authGuardServiceProvider.canActivate(route, state);\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, OnInit} from '@angular/core';\nimport {ActivatedRoute} from '@angular/router';\nimport {Error} from './error';\n\n@Component({\n selector: 'valtimo-error',\n templateUrl: './error.component.html',\n styleUrls: ['./error.component.css'],\n standalone: false,\n})\nexport class ErrorComponent implements OnInit {\n public err: Error;\n\n constructor(private activatedRoute: ActivatedRoute) {}\n\n ngOnInit() {\n if (this.activatedRoute.snapshot.data) {\n this.err = {\n title: this.activatedRoute.snapshot.data.title,\n error: this.activatedRoute.snapshot.data.error,\n };\n }\n }\n}\n","<!--\n ~ Copyright 2015-2025 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"main-content\">\n <div class=\"container-fluid\">\n <div class=\"row\">\n <div class=\"col-12\">\n <h1>{{ err.error }}</h1>\n <p>{{ err.title }}</p>\n </div>\n </div>\n </div>\n</div>\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport {\n HttpErrorResponse,\n HttpEvent,\n HttpHandler,\n HttpInterceptor,\n HttpRequest,\n} from '@angular/common/http';\nimport {Injectable} from '@angular/core';\nimport {GlobalNotificationService, InterceptorSkip} from '@valtimo/shared';\nimport {Observable, throwError} from 'rxjs';\nimport {catchError} from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class HttpErrorInterceptor implements HttpInterceptor {\n constructor(private readonly globalNotificationService: GlobalNotificationService) {}\n\n intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\n let skipStatusCodes: string[] = [];\n let response$: Observable<HttpEvent<any>>;\n if (request.headers && request.headers.has(InterceptorSkip)) {\n skipStatusCodes = request.headers.get(InterceptorSkip)?.split(',') ?? [];\n const headers = request.headers.delete(InterceptorSkip);\n response$ = next.handle(request.clone({headers}));\n } else {\n response$ = next.handle(request);\n }\n\n return response$.pipe(\n catchError((error: HttpErrorResponse) => {\n if (\n skipStatusCodes.find(\n skipStatusCode => skipStatusCode === 'all' || skipStatusCode === error.status.toString()\n )\n ) {\n return throwError(() => error);\n }\n let errorMessage = '';\n if (error?.error instanceof ErrorEvent) {\n // client-side error\n errorMessage = `Error: ${error.error.message}`;\n } else {\n // server-side error\n if (error?.error?.errors) {\n errorMessage = error?.error?.errors;\n } else if (error?.error?.title && error?.error?.detail) {\n errorMessage = `${error?.error?.title}. Details: </br>${error?.error?.detail}`;\n } else if (error?.error?.title && error?.error?.referenceId) {\n errorMessage = `${error?.error?.title}. Reference ID: ${error?.error?.referenceId}`;\n } else if (error?.error?.message) {\n errorMessage = error?.error?.message;\n } else {\n errorMessage = `Error Code: ${error?.status} </br>Message: ${error?.message}`;\n }\n }\n this.globalNotificationService.showToast({\n title: 'An unexpected error occurred',\n caption: errorMessage,\n type: 'error',\n });\n return throwError(() => error);\n })\n );\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {RouterModule, Routes} from '@angular/router';\nimport {CommonModule} from '@angular/common';\nimport {ErrorComponent} from './error.component';\nimport {HttpErrorInterceptor} from './http-error.interceptor';\nimport {HTTP_INTERCEPTORS} from '@angular/common/http';\n\nconst routes: Routes = [\n {path: '403', component: ErrorComponent, data: {title: 'Access Forbidden', error: 403}},\n {path: '404', component: ErrorComponent, data: {title: 'Not Found', error: 404}},\n {path: '500', component: ErrorComponent, data: {title: 'Internal Server Error', error: 500}},\n {path: '503', component: ErrorComponent, data: {title: 'Service Unavailable', error: 503}},\n];\n\n@NgModule({\n declarations: [],\n imports: [CommonModule, RouterModule.forChild(routes)],\n exports: [RouterModule],\n providers: [{provide: HTTP_INTERCEPTORS, useClass: HttpErrorInterceptor, multi: true}],\n})\nexport class ErrorRoutingModule {}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {HttpEvent, HttpHandler, HttpInterceptor, HttpRequest} from '@angular/common/http';\nimport {Injectable} from '@angular/core';\nimport {Observable} from 'rxjs';\nimport moment from 'moment';\n\n@Injectable()\nexport class ZoneOffsetInterceptor implements HttpInterceptor {\n public intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\n const modifiedReq = req.clone({\n headers: req.headers.set('X-Timezone-Offset', this.getFormattedZoneOffset()),\n });\n return next.handle(modifiedReq);\n }\n\n private getFormattedZoneOffset(): string {\n let offset = new Date().getTimezoneOffset();\n let isNegative = false;\n\n if (offset < 0) {\n isNegative = true;\n offset = offset * -1;\n }\n\n const duration = moment.duration(offset, 'minutes');\n const momentOffset = moment.utc(duration.asMilliseconds()).format('HH:mm');\n\n return `${isNegative ? '+' : '-'}${momentOffset}`;\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './zone-offset.interceptor';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport {HTTP_INTERCEPTORS} from '@angular/common/http';\nimport {NgModule} from '@angular/core';\nimport {ErrorRoutingModule} from './error/error-routing.module';\nimport {AuthGuardService} from './guard/auth-guard.service';\nimport {ZoneOffsetInterceptor} from './interceptors';\n\n@NgModule({\n imports: [ErrorRoutingModule],\n providers: [\n AuthGuardService,\n {provide: HTTP_INTERCEPTORS, useClass: ZoneOffsetInterceptor, multi: true},\n ],\n})\nexport class SecurityModule {}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport interface Error {\n title: string;\n error: number;\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable, Injector} from '@angular/core';\nimport {Observable, ReplaySubject} from 'rxjs';\nimport {NGXLogger} from 'ngx-logger';\nimport {\n ConfigService,\n EmailNotificationService,\n EmailNotificationSettings,\n UserIdentity,\n UserService,\n} from '@valtimo/shared';\nimport {HttpClient} from '@angular/common/http';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class UserProviderService implements UserService, EmailNotificationService {\n private readonly userService: UserService;\n private valtimoApiConfig: {\n endpointUri: string;\n };\n\n constructor(\n private configService: ConfigService,\n private injector: Injector,\n private http: HttpClient,\n private logger: NGXLogger\n ) {\n this.valtimoApiConfig = configService.config.valtimoApi;\n this.userService = injector.get<any>(\n configService.config.authentication.authProviders.userServiceProvider\n );\n this.logger.debug('Loading UserProviderService service', this.userService);\n }\n\n getUserSubject(): ReplaySubject<UserIdentity> {\n this.logger.debug('Delegating UserProviderService::getUserIdentity');\n return this.userService.getUserSubject();\n }\n\n logout(): void {\n this.logger.debug('Delegating UserProviderService::logout');\n return this.userService.logout();\n }\n\n async getToken(): Promise<string> {\n this.logger.debug('Delegating UserProviderService::getToken');\n return this.userService.getToken();\n }\n\n async updateToken(minValidity: number): Promise<boolean> {\n this.logger.debug('Delegating UserProviderService::updateToken');\n if (this.userService.updateToken) {\n return this.userService.updateToken(minValidity);\n }\n\n return new Promise(resolve => resolve(true));\n }\n\n public getEmailNotificationSettings(): Observable<EmailNotificationSettings> {\n this.logger.debug('getEmailNotificationSettings');\n return this.http.get<EmailNotificationSettings>(\n `${this.valtimoApiConfig.endpointUri}v1/email-notification-settings`\n );\n }\n\n public updateEmailNotificationSettings(\n settings: EmailNotificationSettings\n ): Observable<EmailNotificationSettings> {\n this.logger.debug('updateEmailNotificationSettings', settings);\n return this.http.put<EmailNotificationSettings>(\n `${this.valtimoApiConfig.endpointUri}v1/email-notification-settings`,\n settings\n );\n }\n}\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst CSP_HTTP_EQUIV = 'Content-Security-Policy';\n\nconst CSP_META_ID = 'CSP_META';\n\nexport {CSP_HTTP_EQUIV, CSP_META_ID};\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './csp.constant';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NGXLogger} from 'ngx-logger';\nimport {ConfigService} from '@valtimo/shared';\nimport {CSP_HTTP_EQUIV, CSP_META_ID} from '../constants';\nimport {DomSanitizer} from '@angular/platform-browser';\nimport {CSPHeaderParams, getCSP} from 'csp-header';\nimport {SecurityContext} from '@angular/core';\n\nconst getSanitizedCspString = (\n cspHeaderParams: CSPHeaderParams,\n domSanitizer: DomSanitizer\n): string => {\n const csp = getCSP(cspHeaderParams);\n return domSanitizer.sanitize(SecurityContext.HTML, csp);\n};\n\nconst getCspHeaderElement = (\n cspHeaderParams: CSPHeaderParams,\n domSanitizer: DomSanitizer,\n document: Document\n): HTMLMetaElement => {\n const csp = getSanitizedCspString(cspHeaderParams, domSanitizer);\n const cspMeta = document.createElement('meta');\n\n cspMeta.httpEquiv = CSP_HTTP_EQUIV;\n cspMeta.content = csp;\n cspMeta.id = CSP_META_ID;\n\n return cspMeta;\n};\n\nconst appendElementToHead = (element: HTMLMetaElement, document: Document): void => {\n document.head.appendChild(element);\n};\n\nconst isElementLoaded = async (elementId: string, document: Document): Promise<boolean> => {\n while (document.getElementById(elementId) === null) {\n await new Promise(resolve => requestAnimationFrame(resolve));\n }\n return !!document.getElementById(elementId);\n};\n\nexport const initializeCsp =\n (\n logger: NGXLogger,\n configService: ConfigService,\n document: Document,\n domSanitizer: DomSanitizer\n ): (() => Promise<boolean>) =>\n async (): Promise<boolean> => {\n const cspHeaderParams = configService?.config?.csp;\n\n if (cspHeaderParams) {\n logger.log('Create CSP header element from:', cspHeaderParams);\n\n const cspHeaderElement = getCspHeaderElement(cspHeaderParams, domSanitizer, document);\n\n appendElementToHead(cspHeaderElement, document);\n\n return await isElementLoaded(CSP_META_ID, document);\n }\n\n logger.log('No CSP config present.');\n\n return true;\n };\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './initialize-csp';\n","/*\n * Copyright 2015-2025 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*\n * Public API Surface of security\n */\nexport * from './lib/guard/auth-guard.service';\nexport * from './lib/security.module';\nexport * from './lib/error/error';\nexport * from './lib/error/error.component';\nexport * from './lib/user-provider.service';\nexport * from './lib/constants';\nexport * from './lib/initializers';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1","i2","i3"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"error.component.d.ts","sourceRoot":"","sources":["../../../../../projects/valtimo/security/src/lib/error/error.component.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAY,MAAM,EAAC,MAAM,eAAe,CAAC;AAChD,OAAO,EAAC,cAAc,EAAC,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAC,KAAK,EAAC,MAAM,SAAS,CAAC;;AAE9B,qBAKa,cAAe,YAAW,MAAM;IAG/B,OAAO,CAAC,cAAc;IAF3B,GAAG,EAAE,KAAK,CAAC;gBAEE,cAAc,EAAE,cAAc;IAElD,QAAQ;yCALG,cAAc;2CAAd,cAAc;CAa1B"}
1
+ {"version":3,"file":"error.component.d.ts","sourceRoot":"","sources":["../../../../../projects/valtimo/security/src/lib/error/error.component.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAY,MAAM,EAAC,MAAM,eAAe,CAAC;AAChD,OAAO,EAAC,cAAc,EAAC,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAC,KAAK,EAAC,MAAM,SAAS,CAAC;;AAE9B,qBAMa,cAAe,YAAW,MAAM;IAG/B,OAAO,CAAC,cAAc;IAF3B,GAAG,EAAE,KAAK,CAAC;gBAEE,cAAc,EAAE,cAAc;IAElD,QAAQ;yCALG,cAAc;2CAAd,cAAc;CAa1B"}
@@ -1,6 +1,3 @@
1
- import { HttpHeaders } from '@angular/common/http';
2
- export declare const InterceptorSkip = "X-Skip-Interceptor";
3
- export declare const InterceptorSkipHeader: HttpHeaders;
4
1
  export interface Error {
5
2
  title: string;
6
3
  error: number;
@@ -1 +1 @@
1
- {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../../../../projects/valtimo/security/src/lib/error/error.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAC,WAAW,EAAC,MAAM,sBAAsB,CAAC;AAEjD,eAAO,MAAM,eAAe,uBAAuB,CAAC;AACpD,eAAO,MAAM,qBAAqB,aAAgD,CAAC;AAEnF,MAAM,WAAW,KAAK;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf"}
1
+ {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../../../../projects/valtimo/security/src/lib/error/error.ts"],"names":[],"mappings":"AAgBA,MAAM,WAAW,KAAK;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf"}
@@ -1,10 +1,10 @@
1
1
  import { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';
2
- import { ToastrService } from 'ngx-toastr';
2
+ import { GlobalNotificationService } from '@valtimo/shared';
3
3
  import { Observable } from 'rxjs';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare class HttpErrorInterceptor implements HttpInterceptor {
6
- private readonly toastr;
7
- constructor(toastr: ToastrService);
6
+ private readonly globalNotificationService;
7
+ constructor(globalNotificationService: GlobalNotificationService);
8
8
  intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>>;
9
9
  static ɵfac: i0.ɵɵFactoryDeclaration<HttpErrorInterceptor, never>;
10
10
  static ɵprov: i0.ɵɵInjectableDeclaration<HttpErrorInterceptor>;
@@ -1 +1 @@
1
- {"version":3,"file":"http-error.interceptor.d.ts","sourceRoot":"","sources":["../../../../../projects/valtimo/security/src/lib/error/http-error.interceptor.ts"],"names":[],"mappings":"AAeA,OAAO,EAEL,SAAS,EACT,WAAW,EACX,eAAe,EACf,WAAW,EACZ,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAC,aAAa,EAAC,MAAM,YAAY,CAAC;AACzC,OAAO,EAAC,UAAU,EAAa,MAAM,MAAM,CAAC;;AAI5C,qBAGa,oBAAqB,YAAW,eAAe;IAC9C,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,aAAa;IAElD,SAAS,CAAC,OAAO,EAAE,WAAW,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,WAAW,GAAG,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;yCAHxE,oBAAoB;6CAApB,oBAAoB;CAiDhC"}
1
+ {"version":3,"file":"http-error.interceptor.d.ts","sourceRoot":"","sources":["../../../../../projects/valtimo/security/src/lib/error/http-error.interceptor.ts"],"names":[],"mappings":"AAeA,OAAO,EAEL,SAAS,EACT,WAAW,EACX,eAAe,EACf,WAAW,EACZ,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAC,yBAAyB,EAAkB,MAAM,iBAAiB,CAAC;AAC3E,OAAO,EAAC,UAAU,EAAa,MAAM,MAAM,CAAC;;AAG5C,qBAGa,oBAAqB,YAAW,eAAe;IAC9C,OAAO,CAAC,QAAQ,CAAC,yBAAyB;gBAAzB,yBAAyB,EAAE,yBAAyB;IAEjF,SAAS,CAAC,OAAO,EAAE,WAAW,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,WAAW,GAAG,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;yCAHxE,oBAAoB;6CAApB,oBAAoB;CAkDhC"}
@@ -1,15 +1,14 @@
1
1
  import { Injector } from '@angular/core';
2
- import { ActivatedRouteSnapshot, CanActivate, RouterStateSnapshot, UrlTree } from '@angular/router';
2
+ import { ActivatedRouteSnapshot, CanActivate, GuardResult, MaybeAsync, RouterStateSnapshot } from '@angular/router';
3
3
  import { NGXLogger } from 'ngx-logger';
4
- import { Observable } from 'rxjs';
5
- import { ConfigService } from '@valtimo/config';
4
+ import { ConfigService } from '@valtimo/shared';
6
5
  import * as i0 from "@angular/core";
7
6
  export declare class AuthGuardService implements CanActivate {
8
7
  private injector;
9
8
  protected logger: NGXLogger;
10
9
  private readonly authGuardServiceProvider;
11
10
  constructor(configService: ConfigService, injector: Injector, logger: NGXLogger);
12
- canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean | UrlTree> | Promise<boolean | UrlTree> | boolean | UrlTree;
11
+ canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): MaybeAsync<GuardResult>;
13
12
  static ɵfac: i0.ɵɵFactoryDeclaration<AuthGuardService, never>;
14
13
  static ɵprov: i0.ɵɵInjectableDeclaration<AuthGuardService>;
15
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"auth-guard.service.d.ts","sourceRoot":"","sources":["../../../../../projects/valtimo/security/src/lib/guard/auth-guard.service.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAa,QAAQ,EAAC,MAAM,eAAe,CAAC;AACnD,OAAO,EAAC,sBAAsB,EAAE,WAAW,EAAE,mBAAmB,EAAE,OAAO,EAAC,MAAM,iBAAiB,CAAC;AAClG,OAAO,EAAC,SAAS,EAAC,MAAM,YAAY,CAAC;AACrC,OAAO,EAAC,UAAU,EAAC,MAAM,MAAM,CAAC;AAChC,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;;AAE9C,qBAGa,gBAAiB,YAAW,WAAW;IAKhD,OAAO,CAAC,QAAQ;IAChB,SAAS,CAAC,MAAM,EAAE,SAAS;IAL7B,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAc;gBAGrD,aAAa,EAAE,aAAa,EACpB,QAAQ,EAAE,QAAQ,EAChB,MAAM,EAAE,SAAS;IAQ7B,WAAW,CACT,KAAK,EAAE,sBAAsB,EAC7B,KAAK,EAAE,mBAAmB,GACzB,UAAU,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,OAAO,GAAG,OAAO;yCAjBtE,gBAAgB;6CAAhB,gBAAgB;CAqB5B"}
1
+ {"version":3,"file":"auth-guard.service.d.ts","sourceRoot":"","sources":["../../../../../projects/valtimo/security/src/lib/guard/auth-guard.service.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAa,QAAQ,EAAC,MAAM,eAAe,CAAC;AACnD,OAAO,EACL,sBAAsB,EACtB,WAAW,EACX,WAAW,EACX,UAAU,EACV,mBAAmB,EACpB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAC,SAAS,EAAC,MAAM,YAAY,CAAC;AACrC,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;;AAE9C,qBAGa,gBAAiB,YAAW,WAAW;IAKhD,OAAO,CAAC,QAAQ;IAChB,SAAS,CAAC,MAAM,EAAE,SAAS;IAL7B,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAc;gBAGrD,aAAa,EAAE,aAAa,EACpB,QAAQ,EAAE,QAAQ,EAChB,MAAM,EAAE,SAAS;IAQ7B,WAAW,CAAC,KAAK,EAAE,sBAAsB,EAAE,KAAK,EAAE,mBAAmB,GAAG,UAAU,CAAC,WAAW,CAAC;yCAdpF,gBAAgB;6CAAhB,gBAAgB;CAkB5B"}
@@ -1,5 +1,5 @@
1
1
  import { NGXLogger } from 'ngx-logger';
2
- import { ConfigService } from '@valtimo/config';
2
+ import { ConfigService } from '@valtimo/shared';
3
3
  import { DomSanitizer } from '@angular/platform-browser';
4
4
  export declare const initializeCsp: (logger: NGXLogger, configService: ConfigService, document: Document, domSanitizer: DomSanitizer) => (() => Promise<boolean>);
5
5
  //# sourceMappingURL=initialize-csp.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"initialize-csp.d.ts","sourceRoot":"","sources":["../../../../../projects/valtimo/security/src/lib/initializers/initialize-csp.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAC,SAAS,EAAC,MAAM,YAAY,CAAC;AACrC,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAE9C,OAAO,EAAC,YAAY,EAAC,MAAM,2BAA2B,CAAC;AAsCvD,eAAO,MAAM,aAAa,WAEd,SAAS,iBACF,aAAa,YAClB,QAAQ,gBACJ,YAAY,KACzB,CAAC,MAAM,QAAQ,OAAO,CAAC,CAiBzB,CAAC"}
1
+ {"version":3,"file":"initialize-csp.d.ts","sourceRoot":"","sources":["../../../../../projects/valtimo/security/src/lib/initializers/initialize-csp.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAC,SAAS,EAAC,MAAM,YAAY,CAAC;AACrC,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAE9C,OAAO,EAAC,YAAY,EAAC,MAAM,2BAA2B,CAAC;AAsCvD,eAAO,MAAM,aAAa,GAEtB,QAAQ,SAAS,EACjB,eAAe,aAAa,EAC5B,UAAU,QAAQ,EAClB,cAAc,YAAY,KACzB,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,CAiBzB,CAAC"}
@@ -1,9 +1,8 @@
1
1
  import * as i0 from "@angular/core";
2
- import * as i1 from "./error/error.component";
3
- import * as i2 from "./error/error-routing.module";
2
+ import * as i1 from "./error/error-routing.module";
4
3
  export declare class SecurityModule {
5
4
  static ɵfac: i0.ɵɵFactoryDeclaration<SecurityModule, never>;
6
- static ɵmod: i0.ɵɵNgModuleDeclaration<SecurityModule, [typeof i1.ErrorComponent], [typeof i2.ErrorRoutingModule], [typeof i1.ErrorComponent]>;
5
+ static ɵmod: i0.ɵɵNgModuleDeclaration<SecurityModule, never, [typeof i1.ErrorRoutingModule], never>;
7
6
  static ɵinj: i0.ɵɵInjectorDeclaration<SecurityModule>;
8
7
  }
9
8
  //# sourceMappingURL=security.module.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"security.module.d.ts","sourceRoot":"","sources":["../../../../projects/valtimo/security/src/lib/security.module.ts"],"names":[],"mappings":";;;AAuBA,qBASa,cAAc;yCAAd,cAAc;0CAAd,cAAc;0CAAd,cAAc;CAAG"}
1
+ {"version":3,"file":"security.module.d.ts","sourceRoot":"","sources":["../../../../projects/valtimo/security/src/lib/security.module.ts"],"names":[],"mappings":";;AAqBA,qBAOa,cAAc;yCAAd,cAAc;0CAAd,cAAc;0CAAd,cAAc;CAAG"}
@@ -1,7 +1,7 @@
1
1
  import { Injector } from '@angular/core';
2
2
  import { Observable, ReplaySubject } from 'rxjs';
3
3
  import { NGXLogger } from 'ngx-logger';
4
- import { ConfigService, EmailNotificationService, EmailNotificationSettings, UserIdentity, UserService } from '@valtimo/config';
4
+ import { ConfigService, EmailNotificationService, EmailNotificationSettings, UserIdentity, UserService } from '@valtimo/shared';
5
5
  import { HttpClient } from '@angular/common/http';
6
6
  import * as i0 from "@angular/core";
7
7
  export declare class UserProviderService implements UserService, EmailNotificationService {
package/package.json CHANGED
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "name": "@valtimo/security",
3
3
  "license": "EUPL-1.2",
4
- "version": "12.14.0",
4
+ "version": "13.0.0",
5
5
  "peerDependencies": {
6
- "@angular/common": "^17.2.2",
7
- "@angular/core": "^17.2.2"
6
+ "@angular/common": "^19.2.8",
7
+ "@angular/core": "^19.2.8"
8
8
  },
9
9
  "dependencies": {
10
- "ngx-toastr": "19.0.0",
11
- "tslib": "2.6.3",
12
- "moment": "2.30.1"
10
+ "tslib": "2.8.1",
11
+ "moment": "2.30.1",
12
+ "csp-header": "6.1.0"
13
13
  },
14
14
  "module": "fesm2022/valtimo-security.mjs",
15
15
  "typings": "index.d.ts",
@@ -19,8 +19,6 @@
19
19
  },
20
20
  ".": {
21
21
  "types": "./index.d.ts",
22
- "esm2022": "./esm2022/valtimo-security.mjs",
23
- "esm": "./esm2022/valtimo-security.mjs",
24
22
  "default": "./fesm2022/valtimo-security.mjs"
25
23
  }
26
24
  },