@thecla/b2c-angular 8.0.0 → 9.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/actions/auth.actions.mjs +1 -1
- package/esm2022/lib/auth.guard.mjs +6 -7
- package/esm2022/lib/auth.module.mjs +6 -7
- package/esm2022/lib/auth.service.mjs +6 -7
- package/esm2022/lib/effects/auth.effects.mjs +6 -7
- package/esm2022/lib/jwt.interceptor.mjs +5 -6
- package/esm2022/lib/reducers/auth.reducer.mjs +1 -1
- package/esm2022/lib/store/index.mjs +1 -1
- package/fesm2022/thecla-b2c-angular.mjs +21 -21
- package/fesm2022/thecla-b2c-angular.mjs.map +1 -1
- package/lib/auth.guard.d.ts +2 -2
- package/lib/effects/auth.effects.d.ts +3 -3
- package/package.json +7 -7
|
@@ -8,4 +8,4 @@ export const signInFailed = createAction('[@thecla/b2c-angular] sign in failed',
|
|
|
8
8
|
export const signOut = createAction('[@thecla/b2c-angular] sign out');
|
|
9
9
|
export const signedOut = createAction('[@thecla/b2c-angular] signed out');
|
|
10
10
|
export const resetPassword = createAction('[@thecla/b2c-angular] reset password', props());
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5hY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYjJjLWFuZ3VsYXIvc3JjL2xpYi9hY3Rpb25zL2F1dGguYWN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUdsRCxNQUFNLENBQUMsTUFBTSxJQUFJLEdBQUcsWUFBWSxDQUFDLDRCQUE0QixDQUFDLENBQUM7QUFFL0QsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFHLFlBQVksQ0FBQywrQkFBK0IsRUFBRSxLQUFLLEVBQXlCLENBQUMsQ0FBQztBQUVwRyxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxZQUFZLENBQUMsMENBQTBDLENBQUMsQ0FBQztBQUV6RixNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsWUFBWSxDQUN6Qyx5Q0FBeUMsRUFDekMsS0FBSyxFQUF3RSxDQUM5RSxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLFlBQVksQ0FBQyxpQ0FBaUMsRUFBRSxLQUFLLEVBQXFCLENBQUMsQ0FBQztBQUVwRyxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsWUFBWSxDQUFDLHNDQUFzQyxFQUFFLEtBQUssRUFBb0IsQ0FBQyxDQUFDO0FBRTVHLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxZQUFZLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztBQUV0RSxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsWUFBWSxDQUFDLGtDQUFrQyxDQUFDLENBQUM7QUFFMUUsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLFlBQVksQ0FBQyxzQ0FBc0MsRUFBRSxLQUFLLEVBQXlCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZUFjdGlvbiwgcHJvcHMgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBQcm9maWxlIH0gZnJvbSAnLi4vc3RhdGUvYXV0aC5zdGF0ZSc7XG5cbmV4cG9ydCBjb25zdCBpbml0ID0gY3JlYXRlQWN0aW9uKCdbQHRoZWNsYS9iMmMtYW5ndWxhcl0gaW5pdCcpO1xuXG5leHBvcnQgY29uc3Qgc2lnbkluID0gY3JlYXRlQWN0aW9uKCdbQHRoZWNsYS9iMmMtYW5ndWxhcl0gc2lnbi1pbicsIHByb3BzPHsgcmV0dXJuVXJsOiBzdHJpbmcgfT4oKSk7XG5cbmV4cG9ydCBjb25zdCBzaWduSW5SZWRpcmVjdGVkID0gY3JlYXRlQWN0aW9uKCdbQHRoZWNsYS9iMmMtYW5ndWxhcl0gc2lnbiBpbiByZWRpcmVjdGVkJyk7XG5cbmV4cG9ydCBjb25zdCBzaWduSW5Db21wbGV0ZWQgPSBjcmVhdGVBY3Rpb24oXG4gICdbQHRoZWNsYS9iMmMtYW5ndWxhcl0gc2lnbiBpbiBjb21wbGV0ZWQnLFxuICBwcm9wczx7IHN0YXRlOiB7IHRhcmdldDogc3RyaW5nOyBwYXNzd29yZFJlc2V0OiBib29sZWFuIH07IHVzZXI6IFByb2ZpbGUgfT4oKSxcbik7XG5cbmV4cG9ydCBjb25zdCBzaWduZWRJbiA9IGNyZWF0ZUFjdGlvbignW0B0aGVjbGEvYjJjLWFuZ3VsYXJdIHNpZ25lZCBpbicsIHByb3BzPHsgdXNlcjogUHJvZmlsZSB9PigpKTtcblxuZXhwb3J0IGNvbnN0IHNpZ25JbkZhaWxlZCA9IGNyZWF0ZUFjdGlvbignW0B0aGVjbGEvYjJjLWFuZ3VsYXJdIHNpZ24gaW4gZmFpbGVkJywgcHJvcHM8eyBlcnJvcjogRXJyb3IgfT4oKSk7XG5cbmV4cG9ydCBjb25zdCBzaWduT3V0ID0gY3JlYXRlQWN0aW9uKCdbQHRoZWNsYS9iMmMtYW5ndWxhcl0gc2lnbiBvdXQnKTtcblxuZXhwb3J0IGNvbnN0IHNpZ25lZE91dCA9IGNyZWF0ZUFjdGlvbignW0B0aGVjbGEvYjJjLWFuZ3VsYXJdIHNpZ25lZCBvdXQnKTtcblxuZXhwb3J0IGNvbnN0IHJlc2V0UGFzc3dvcmQgPSBjcmVhdGVBY3Rpb24oJ1tAdGhlY2xhL2IyYy1hbmd1bGFyXSByZXNldCBwYXNzd29yZCcsIHByb3BzPHsgcmV0dXJuVXJsOiBzdHJpbmcgfT4oKSk7XG4iXX0=
|
|
@@ -5,7 +5,7 @@ import { signIn } from './actions/auth.actions';
|
|
|
5
5
|
import { isAuthenticated } from './store';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
import * as i1 from "@ngrx/store";
|
|
8
|
-
class AuthGuard {
|
|
8
|
+
export class AuthGuard {
|
|
9
9
|
constructor(store) {
|
|
10
10
|
this.store = store;
|
|
11
11
|
this.authenticated$ = this.store.pipe(isAuthenticated);
|
|
@@ -17,14 +17,13 @@ class AuthGuard {
|
|
|
17
17
|
}
|
|
18
18
|
}), first());
|
|
19
19
|
}
|
|
20
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
21
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
20
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AuthGuard, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
21
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AuthGuard, providedIn: 'root' }); }
|
|
22
22
|
}
|
|
23
|
-
|
|
24
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: AuthGuard, decorators: [{
|
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AuthGuard, decorators: [{
|
|
25
24
|
type: Injectable,
|
|
26
25
|
args: [{
|
|
27
26
|
providedIn: 'root',
|
|
28
27
|
}]
|
|
29
|
-
}], ctorParameters:
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
}], ctorParameters: () => [{ type: i1.Store }] });
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2IyYy1hbmd1bGFyL3NyYy9saWIvYXV0aC5ndWFyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDcEMsT0FBTyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7O0FBSzFDLE1BQU0sT0FBTyxTQUFTO0lBR3BCLFlBQW9DLEtBQVk7UUFBWixVQUFLLEdBQUwsS0FBSyxDQUFPO1FBRi9CLG1CQUFjLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7SUFFaEIsQ0FBQztJQUU3QyxXQUFXLENBQUMsSUFBNEIsRUFBRSxLQUEwQjtRQUN6RSxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUM3QixHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDVCxJQUFJLENBQUMsSUFBSSxFQUFFO2dCQUNULElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFLFNBQVMsRUFBRSxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQ3ZEO1FBQ0gsQ0FBQyxDQUFDLEVBQ0YsS0FBSyxFQUFFLENBQ1IsQ0FBQztJQUNKLENBQUM7OEdBZFUsU0FBUztrSEFBVCxTQUFTLGNBRlIsTUFBTTs7MkZBRVAsU0FBUztrQkFIckIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBDYW5BY3RpdmF0ZSwgUm91dGVyU3RhdGVTbmFwc2hvdCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IGZpcnN0LCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBzaWduSW4gfSBmcm9tICcuL2FjdGlvbnMvYXV0aC5hY3Rpb25zJztcbmltcG9ydCB7IGlzQXV0aGVudGljYXRlZCB9IGZyb20gJy4vc3RvcmUnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQXV0aEd1YXJkIGltcGxlbWVudHMgQ2FuQWN0aXZhdGUge1xuICBwcml2YXRlIHJlYWRvbmx5IGF1dGhlbnRpY2F0ZWQkID0gdGhpcy5zdG9yZS5waXBlKGlzQXV0aGVudGljYXRlZCk7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgc3RvcmU6IFN0b3JlKSB7fVxuXG4gIHB1YmxpYyBjYW5BY3RpdmF0ZShuZXh0OiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBzdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdCkge1xuICAgIHJldHVybiB0aGlzLmF1dGhlbnRpY2F0ZWQkLnBpcGUoXG4gICAgICB0YXAoYXV0aCA9PiB7XG4gICAgICAgIGlmICghYXV0aCkge1xuICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goc2lnbkluKHsgcmV0dXJuVXJsOiBzdGF0ZS51cmwgfSkpO1xuICAgICAgICB9XG4gICAgICB9KSxcbiAgICAgIGZpcnN0KCksXG4gICAgKTtcbiAgfVxufVxuIl19
|
|
@@ -10,7 +10,7 @@ import { featureKey } from './store';
|
|
|
10
10
|
import * as i0 from "@angular/core";
|
|
11
11
|
import * as i1 from "@ngrx/store";
|
|
12
12
|
import * as i2 from "@ngrx/effects";
|
|
13
|
-
class AuthModule {
|
|
13
|
+
export class AuthModule {
|
|
14
14
|
static forRoot(config) {
|
|
15
15
|
return {
|
|
16
16
|
ngModule: AuthModule,
|
|
@@ -27,12 +27,11 @@ class AuthModule {
|
|
|
27
27
|
],
|
|
28
28
|
};
|
|
29
29
|
}
|
|
30
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
31
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
32
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
30
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AuthModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
31
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.4", ngImport: i0, type: AuthModule, imports: [i1.StoreFeatureModule, i2.EffectsFeatureModule] }); }
|
|
32
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AuthModule, imports: [StoreModule.forFeature(featureKey, reducer), EffectsModule.forFeature([AuthEffects])] }); }
|
|
33
33
|
}
|
|
34
|
-
|
|
35
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: AuthModule, decorators: [{
|
|
34
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AuthModule, decorators: [{
|
|
36
35
|
type: NgModule,
|
|
37
36
|
args: [{
|
|
38
37
|
declarations: [],
|
|
@@ -40,4 +39,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImpor
|
|
|
40
39
|
exports: [],
|
|
41
40
|
}]
|
|
42
41
|
}] });
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9iMmMtYW5ndWxhci9zcmMvbGliL2F1dGgubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMxQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxTQUFTLENBQUM7Ozs7QUFPckMsTUFBTSxPQUFPLFVBQVU7SUFDZCxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQWtCO1FBQ3RDLE9BQU87WUFDTCxRQUFRLEVBQUUsVUFBVTtZQUNwQixTQUFTLEVBQUU7Z0JBQ1Q7b0JBQ0UsT0FBTyxFQUFFLFVBQVU7b0JBQ25CLFFBQVEsRUFBRSxNQUFNO2lCQUNqQjtnQkFDRDtvQkFDRSxPQUFPLEVBQUUsaUJBQWlCO29CQUMxQixRQUFRLEVBQUUsY0FBYztvQkFDeEIsS0FBSyxFQUFFLElBQUk7aUJBQ1o7YUFDRjtTQUNGLENBQUM7SUFDSixDQUFDOzhHQWhCVSxVQUFVOytHQUFWLFVBQVU7K0dBQVYsVUFBVSxZQUhYLFdBQVcsQ0FBQyxVQUFVLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxFQUFFLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQzs7MkZBR25GLFVBQVU7a0JBTHRCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLEVBQUU7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxFQUFFLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO29CQUMvRixPQUFPLEVBQUUsRUFBRTtpQkFDWiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEhUVFBfSU5URVJDRVBUT1JTIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEVmZmVjdHNNb2R1bGUgfSBmcm9tICdAbmdyeC9lZmZlY3RzJztcbmltcG9ydCB7IFN0b3JlTW9kdWxlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgQXV0aENvbmZpZyB9IGZyb20gJy4vYXV0aC1jb25maWcnO1xuaW1wb3J0IHsgQXV0aEVmZmVjdHMgfSBmcm9tICcuL2VmZmVjdHMvYXV0aC5lZmZlY3RzJztcbmltcG9ydCB7IEp3dEludGVyY2VwdG9yIH0gZnJvbSAnLi9qd3QuaW50ZXJjZXB0b3InO1xuaW1wb3J0IHsgcmVkdWNlciB9IGZyb20gJy4vcmVkdWNlcnMvYXV0aC5yZWR1Y2VyJztcbmltcG9ydCB7IGZlYXR1cmVLZXkgfSBmcm9tICcuL3N0b3JlJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXSxcbiAgaW1wb3J0czogW1N0b3JlTW9kdWxlLmZvckZlYXR1cmUoZmVhdHVyZUtleSwgcmVkdWNlciksIEVmZmVjdHNNb2R1bGUuZm9yRmVhdHVyZShbQXV0aEVmZmVjdHNdKV0sXG4gIGV4cG9ydHM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBBdXRoTW9kdWxlIHtcbiAgcHVibGljIHN0YXRpYyBmb3JSb290KGNvbmZpZzogQXV0aENvbmZpZyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8QXV0aE1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogQXV0aE1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogQXV0aENvbmZpZyxcbiAgICAgICAgICB1c2VWYWx1ZTogY29uZmlnLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogSFRUUF9JTlRFUkNFUFRPUlMsXG4gICAgICAgICAgdXNlQ2xhc3M6IEp3dEludGVyY2VwdG9yLFxuICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9O1xuICB9XG59XG4iXX0=
|
|
@@ -5,7 +5,7 @@ import { catchError, filter, map } from 'rxjs/operators';
|
|
|
5
5
|
import { AuthConfig } from './auth-config';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
import * as i1 from "./auth-config";
|
|
8
|
-
class AuthService {
|
|
8
|
+
export class AuthService {
|
|
9
9
|
constructor(config) {
|
|
10
10
|
this.config = config;
|
|
11
11
|
const msalConfig = {
|
|
@@ -56,14 +56,13 @@ class AuthService {
|
|
|
56
56
|
return of(undefined);
|
|
57
57
|
}
|
|
58
58
|
}
|
|
59
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
60
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
59
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AuthService, deps: [{ token: i1.AuthConfig }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
60
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AuthService, providedIn: 'root' }); }
|
|
61
61
|
}
|
|
62
|
-
|
|
63
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: AuthService, decorators: [{
|
|
62
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AuthService, decorators: [{
|
|
64
63
|
type: Injectable,
|
|
65
64
|
args: [{
|
|
66
65
|
providedIn: 'root',
|
|
67
66
|
}]
|
|
68
|
-
}], ctorParameters:
|
|
69
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
67
|
+
}], ctorParameters: () => [{ type: i1.AuthConfig }] });
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYjJjLWFuZ3VsYXIvc3JjL2xpYi9hdXRoLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBR0wsNEJBQTRCLEVBQzVCLHVCQUF1QixHQUN4QixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM1QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFLM0MsTUFBTSxPQUFPLFdBQVc7SUFHdEIsWUFBb0MsTUFBa0I7UUFBbEIsV0FBTSxHQUFOLE1BQU0sQ0FBWTtRQUNwRCxNQUFNLFVBQVUsR0FBa0I7WUFDaEMsSUFBSSxFQUFFO2dCQUNKLFFBQVEsRUFBRSxNQUFNLENBQUMsUUFBUTtnQkFDekIsU0FBUyxFQUFFLEdBQUcsTUFBTSxDQUFDLFNBQVMsSUFBSSxNQUFNLENBQUMsWUFBWSxFQUFFO2dCQUN2RCxnQkFBZ0IsRUFBRSxNQUFNLENBQUMsZ0JBQWdCO2dCQUN6QyxXQUFXLEVBQUUsTUFBTSxDQUFDLFdBQVcsSUFBSSxRQUFRLENBQUMsTUFBTTthQUNuRDtTQUNGLENBQUM7UUFFRixJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSx1QkFBdUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRU0saUJBQWlCLENBQUMsS0FBeUI7UUFDaEQsT0FBTyxJQUFJLENBQ1QsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsQ0FBQztZQUNuQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFN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SyxDQUFDLENBQUMsQ0FBQyxDQUN6RyxDQUFDO1NBQ0g7YUFBTTtZQUNMLE9BQU8sRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQ3RCO0lBQ0gsQ0FBQzs4R0FyRVUsV0FBVztrSEFBWCxXQUFXLGNBRlYsTUFBTTs7MkZBRVAsV0FBVztrQkFIdkIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBdXRoZW50aWNhdGlvblJlc3VsdCxcbiAgQ29uZmlndXJhdGlvbixcbiAgSW50ZXJhY3Rpb25SZXF1aXJlZEF1dGhFcnJvcixcbiAgUHVibGljQ2xpZW50QXBwbGljYXRpb24sXG59IGZyb20gJ0BhenVyZS9tc2FsLWJyb3dzZXInO1xuaW1wb3J0IHsgZnJvbSwgb2YsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGZpbHRlciwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQXV0aENvbmZpZyB9IGZyb20gJy4vYXV0aC1jb25maWcnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQXV0aFNlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IGNsaWVudEFwcGxpY2F0aW9uOiBQdWJsaWNDbGllbnRBcHBsaWNhdGlvbjtcblxuICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBjb25maWc6IEF1dGhDb25maWcpIHtcbiAgICBjb25zdCBtc2FsQ29uZmlnOiBDb25maWd1cmF0aW9uID0ge1xuICAgICAgYXV0aDoge1xuICAgICAgICBjbGllbnRJZDogY29uZmlnLmNsaWVudElkLFxuICAgICAgICBhdXRob3JpdHk6IGAke2NvbmZpZy5hdXRob3JpdHl9LyR7Y29uZmlnLnNpZ25JblBvbGljeX1gLFxuICAgICAgICBrbm93bkF1dGhvcml0aWVzOiBjb25maWcua25vd25BdXRob3JpdGllcyxcbiAgICAgICAgcmVkaXJlY3RVcmk6IGNvbmZpZy5yZWRpcmVjdFVyaSA/PyBsb2NhdGlvbi5vcmlnaW4sXG4gICAgICB9LFxuICAgIH07XG5cbiAgICB0aGlzLmNsaWVudEFwcGxpY2F0aW9uID0gbmV3IFB1YmxpY0NsaWVudEFwcGxpY2F0aW9uKG1zYWxDb25maWcpO1xuICB9XG5cbiAgcHVibGljIGxvZ2luV2l0aFJlZGlyZWN0KHN0YXRlOiB7IHRhcmdldDogc3RyaW5nIH0pIHtcbiAgICByZXR1cm4gZnJvbShcbiAgICAgIHRoaXMuY2xpZW50QXBwbGljYXRpb24ubG9naW5SZWRpcmVjdCh7XG4gICAgICAgIHNjb3BlczogdGhpcy5jb25maWcuc2NvcGVzLFxuICAgICAgICBzdGF0ZTogSlNPTi5zdHJpbmdpZnkoeyAuLi5zdGF0ZSwgcGFzc3dvcmRSZXNldDogZmFsc2UgfSksXG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHJlc2V0UGFzc3dvcmRXaXRoUmVkaXJlY3Qoc3RhdGU6IHsgdGFyZ2V0OiBzdHJpbmcgfSkge1xuICAgIHJldHVybiBmcm9tKFxuICAgICAgdGhpcy5jbGllbnRBcHBsaWNhdGlvbi5sb2dpblJlZGlyZWN0KHtcbiAgICAgICAgYXV0aG9yaXR5OiBgJHt0aGlzLmNvbmZpZy5hdXRob3JpdHl9LyR7dGhpcy5jb25maWcucmVzZXRQYXNzd29yZFBvbGljeX1gLFxuICAgICAgICBzY29wZXM6IHRoaXMuY29uZmlnLnNjb3BlcyxcbiAgICAgICAgc3RhdGU6IEpTT04uc3RyaW5naWZ5KHsgLi4uc3RhdGUsIHBhc3N3b3JkUmVzZXQ6IHRydWUgfSksXG4gICAgICAgIHByb21wdDogJ2xvZ2luJyxcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlUmVkaXJlY3RDYWxsYmFjaygpIHtcbiAgICByZXR1cm4gZnJvbSh0aGlzLmNsaWVudEFwcGxpY2F0aW9uLmhhbmRsZVJlZGlyZWN0UHJvbWlzZSgpKS5waXBlKFxuICAgICAgZmlsdGVyKChyZXN1bHQpOiByZXN1bHQgaXMgQXV0aGVudGljYXRpb25SZXN1bHQgPT4gcmVzdWx0ICE9PSBudWxsKSxcbiAgICAgIG1hcChyZXN1bHQgPT4gKHtcbiAgICAgICAgc3RhdGU6IHJlc3VsdC5zdGF0ZSA/IEpTT04ucGFyc2UocmVzdWx0LnN0YXRlKSA6IHVuZGVmaW5lZCxcbiAgICAgICAgdXNlcjogeyBzdWI6IHJlc3VsdC51bmlxdWVJZCwgLi4ucmVzdWx0LmlkVG9rZW5DbGFpbXMgfSxcbiAgICAgIH0pKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGdldEFjY2Vzc1Rva2VuKCkge1xuICAgIGNvbnN0IGFjY291bnQgPSB0aGlzLmNsaWVudEFwcGxpY2F0aW9uLmdldEFsbEFjY291bnRzKClbMF07XG4gICAgY29uc3Qgc2NvcGVzID0gdGhpcy5jb25maWcuc2NvcGVzO1xuXG4gICAgcmV0dXJuIGZyb20odGhpcy5jbGllbnRBcHBsaWNhdGlvbi5hY3F1aXJlVG9rZW5TaWxlbnQoeyBhY2NvdW50LCBzY29wZXMgfSkpLnBpcGUobWFwKHJlc3VsdCA9PiByZXN1bHQuYWNjZXNzVG9rZW4pKTtcbiAgfVxuXG4gIHB1YmxpYyBsb2dvdXQoKSB7XG4gICAgcmV0dXJuIGZyb20odGhpcy5jbGllbnRBcHBsaWNhdGlvbi5sb2dvdXRSZWRpcmVjdCh7IHBvc3RMb2dvdXRSZWRpcmVjdFVyaTogbG9jYXRpb24ub3JpZ2luIH0pKTtcbiAgfVxuXG4gIHB1YmxpYyBjaGVja1Nlc3Npb24oKSB7XG4gICAgY29uc3QgYWNjb3VudHMgPSB0aGlzLmNsaWVudEFwcGxpY2F0aW9uLmdldEFsbEFjY291bnRzKCk7XG4gICAgY29uc3Qgc2NvcGVzID0gdGhpcy5jb25maWcuc2NvcGVzO1xuXG4gICAgaWYgKGFjY291bnRzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgcmV0dXJuIGZyb20odGhpcy5jbGllbnRBcHBsaWNhdGlvbi5hY3F1aXJlVG9rZW5TaWxlbnQoeyBhY2NvdW50OiBhY2NvdW50c1swXSwgc2NvcGVzIH0pKS5waXBlKFxuICAgICAgICBtYXAocmVzdWx0ID0+ICh7IHN1YjogcmVzdWx0LnVuaXF1ZUlkLCAuLi5yZXN1bHQuaWRUb2tlbkNsYWltcyB9KSksXG4gICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4gKGVycm9yIGluc3RhbmNlb2YgSW50ZXJhY3Rpb25SZXF1aXJlZEF1dGhFcnJvciA/IG9mKHVuZGVmaW5lZCkgOiB0aHJvd0Vycm9yKGVycm9yKSkpLFxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG9mKHVuZGVmaW5lZCk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -10,7 +10,7 @@ import * as i0 from "@angular/core";
|
|
|
10
10
|
import * as i1 from "@ngrx/effects";
|
|
11
11
|
import * as i2 from "../auth.service";
|
|
12
12
|
import * as i3 from "@angular/router";
|
|
13
|
-
class AuthEffects {
|
|
13
|
+
export class AuthEffects {
|
|
14
14
|
constructor(actions$, auth, router) {
|
|
15
15
|
this.actions$ = actions$;
|
|
16
16
|
this.auth = auth;
|
|
@@ -53,11 +53,10 @@ class AuthEffects {
|
|
|
53
53
|
completeSignIn() {
|
|
54
54
|
return this.auth.handleRedirectCallback().pipe(map(result => signInCompleted({ state: result.state, user: result.user })), catchError(error => of(signInFailed({ error }))));
|
|
55
55
|
}
|
|
56
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
57
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
56
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AuthEffects, deps: [{ token: i1.Actions }, { token: i2.AuthService }, { token: i3.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
57
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AuthEffects }); }
|
|
58
58
|
}
|
|
59
|
-
|
|
60
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: AuthEffects, decorators: [{
|
|
59
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AuthEffects, decorators: [{
|
|
61
60
|
type: Injectable
|
|
62
|
-
}], ctorParameters:
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5lZmZlY3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYjJjLWFuZ3VsYXIvc3JjL2xpYi9lZmZlY3RzL2F1dGguZWZmZWN0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsU0FBUyxFQUFFLHVCQUF1QixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDekUsT0FBTyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUM3RSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLEVBQ0wsSUFBSSxFQUNKLGFBQWEsRUFDYixRQUFRLEVBQ1IsU0FBUyxFQUNULE1BQU0sRUFDTixlQUFlLEVBQ2YsWUFBWSxFQUNaLGdCQUFnQixFQUNoQixPQUFPLEdBQ1IsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7O0FBRTlDLE1BQ2EsV0FBVztJQThGdEIsWUFDbUIsUUFBaUIsRUFDakIsSUFBaUIsRUFDakIsTUFBYztRQUZkLGFBQVEsR0FBUixRQUFRLENBQVM7UUFDakIsU0FBSSxHQUFKLElBQUksQ0FBYTtRQUNqQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBaEdqQixZQUFPLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUMxQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDaEIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUNkLFNBQVMsQ0FBQyxNQUFNLENBQUMs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IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBBdXRoRXJyb3IsIEJyb3dzZXJBdXRoRXJyb3JNZXNzYWdlIH0gZnJvbSAnQGF6dXJlL21zYWwtYnJvd3Nlcic7XG5pbXBvcnQgeyBBY3Rpb25zLCBjcmVhdGVFZmZlY3QsIG9mVHlwZSwgT25Jbml0RWZmZWN0cyB9IGZyb20gJ0BuZ3J4L2VmZmVjdHMnO1xuaW1wb3J0IHsgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGZpbHRlciwgbWFwLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1xuICBpbml0LFxuICByZXNldFBhc3N3b3JkLFxuICBzaWduZWRJbixcbiAgc2lnbmVkT3V0LFxuICBzaWduSW4sXG4gIHNpZ25JbkNvbXBsZXRlZCxcbiAgc2lnbkluRmFpbGVkLFxuICBzaWduSW5SZWRpcmVjdGVkLFxuICBzaWduT3V0LFxufSBmcm9tICcuLi9hY3Rpb25zL2F1dGguYWN0aW9ucyc7XG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uL2F1dGguc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBdXRoRWZmZWN0cyBpbXBsZW1lbnRzIE9uSW5pdEVmZmVjdHMge1xuICBwdWJsaWMgcmVhZG9ubHkgc2lnbkluJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgIG9mVHlwZShzaWduSW4pLFxuICAgICAgc3dpdGNoTWFwKGFjdGlvbiA9PlxuICAgICAgICB0aGlzLmF1dGgubG9naW5XaXRoUmVkaXJlY3QoeyB0YXJnZXQ6IGFjdGlvbi5yZXR1cm5VcmwgfSkucGlwZShcbiAgICAgICAgICBtYXAoKCkgPT4gc2lnbkluUmVkaXJlY3RlZCgpKSxcbiAgICAgICAgICBjYXRjaEVycm9yKGVycm9yID0+IG9mKHNpZ25JbkZhaWxlZCh7IGVycm9yIH0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgcGFzc3dvcmRSZXNldCQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICBvZlR5cGUocmVzZXRQYXNzd29yZCksXG4gICAgICBzd2l0Y2hNYXAoYWN0aW9uID0+XG4gICAgICAgIHRoaXMuYXV0aC5yZXNldFBhc3N3b3JkV2l0aFJlZGlyZWN0KHsgdGFyZ2V0OiBhY3Rpb24ucmV0dXJuVXJsIH0pLnBpcGUoXG4gICAgICAgICAgbWFwKCgpID0+IHNpZ25JblJlZGlyZWN0ZWQoKSksXG4gICAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiBvZihzaWduSW5GYWlsZWQoeyBlcnJvciB9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgcHVibGljIHJlYWRvbmx5IHNpZ25JbkNvbXBsZXRlZCQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICBvZlR5cGUoc2lnbkluQ29tcGxldGVkKSxcbiAgICAgIG1hcCgoeyBzdGF0ZSwgdXNlciB9KSA9PiAoc3RhdGUucGFzc3dvcmRSZXNldCA/IHNpZ25PdXQoKSA6IHNpZ25lZEluKHsgdXNlciB9KSkpXG4gICAgKVxuICApO1xuXG4gIHB1YmxpYyByZWFkb25seSByZWRpcmVjdCQgPSBjcmVhdGVFZmZlY3QoXG4gICAgKCkgPT5cbiAgICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgICAgb2ZUeXBlKHNpZ25JbkNvbXBsZXRlZCksXG4gICAgICAgIHN3aXRjaE1hcChhY3Rpb24gPT4gdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybChhY3Rpb24uc3RhdGUudGFyZ2V0LCB7IHJlcGxhY2VVcmw6IHRydWUgfSkpXG4gICAgICApLFxuICAgIHsgZGlzcGF0Y2g6IGZhbHNlIH1cbiAgKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgc2lnbk91dCQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICBvZlR5cGUoc2lnbk91dCksXG4gICAgICBzd2l0Y2hNYXAoXyA9PlxuICAgICAgICB0aGlzLmF1dGgubG9nb3V0KCkucGlwZShcbiAgICAgICAgICBtYXAoKCkgPT4gc2lnbmVkT3V0KCkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKCkgPT4gb2Yoc2lnbmVkT3V0KCkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHB1YmxpYyByZWFkb25seSBpbml0JCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgIG9mVHlwZShpbml0KSxcbiAgICAgIHN3aXRjaE1hcCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IHdpbmRvdy5sb2NhdGlvbi5oYXNoO1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAocGFyYW1zLmluY2x1ZGVzKCdjb2RlPScpICYmIHBhcmFtcy5pbmNsdWRlcygnc3RhdGU9JykpIHx8XG4gICAgICAgICAgKHBhcmFtcy5pbmNsdWRlcygnZXJyb3I9JykgJiYgcGFyYW1zLmluY2x1ZGVzKCdlcnJvcl9kZXNjcmlwdGlvbj0nKSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuY29tcGxldGVTaWduSW4oKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5hdXRoLmNoZWNrU2Vzc2lvbigpLnBpcGUoXG4gICAgICAgICAgICBtYXAodXNlciA9PiB0aGlzLmdldEF1dGhSZXN1bHQodXNlcikpLFxuICAgICAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiBvZihzaWduSW5GYWlsZWQoeyBlcnJvciB9KSkpXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApXG4gICk7XG5cbiAgcHVibGljIHJlYWRvbmx5IHJlc2V0UGFzc3dvcmQkID0gY3JlYXRlRWZmZWN0KCgpID0+XG4gICAgdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgICAgb2ZUeXBlKHNpZ25JbkZhaWxlZCksXG4gICAgICBmaWx0ZXIoYWN0aW9uID0+IGFjdGlvbi5lcnJvciBpbnN0YW5jZW9mIEF1dGhFcnJvciksXG4gICAgICBtYXAoYWN0aW9uID0+IGFjdGlvbi5lcnJvciBhcyBBdXRoRXJyb3IpLFxuICAgICAgZmlsdGVyKEF1dGhFZmZlY3RzLmlzRm9yZ290UGFzc3dvcmRFcnJvciksXG4gICAgICBtYXAoKCkgPT4gcmVzZXRQYXNzd29yZCh7IHJldHVyblVybDogJy8nIH0pKVxuICAgIClcbiAgKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgZmFpbGVkJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgIG9mVHlwZShzaWduSW5GYWlsZWQpLFxuICAgICAgZmlsdGVyKGFjdGlvbiA9PiBhY3Rpb24uZXJyb3IgaW5zdGFuY2VvZiBBdXRoRXJyb3IpLFxuICAgICAgbWFwKGFjdGlvbiA9PiBhY3Rpb24uZXJyb3IgYXMgQXV0aEVycm9yKSxcbiAgICAgIGZpbHRlcihBdXRoRWZmZWN0cy5pc0ludGVyYWN0aW9uSW5Qcm9ncmVzcyksXG4gICAgICBtYXAoKCkgPT4gc2lnbk91dCgpKVxuICAgIClcbiAgKTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBhY3Rpb25zJDogQWN0aW9ucyxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGF1dGg6IEF1dGhTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXJcbiAgKSB7fVxuXG4gIHB1YmxpYyBuZ3J4T25Jbml0RWZmZWN0cygpIHtcbiAgICByZXR1cm4gaW5pdCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgaXNGb3Jnb3RQYXNzd29yZEVycm9yKGVycm9yOiBBdXRoRXJyb3IpIHtcbiAgICByZXR1cm4gZXJyb3IuZXJyb3JDb2RlID09PSAnYWNjZXNzX2RlbmllZCcgJiYgZXJyb3IuZXJyb3JNZXNzYWdlLmluZGV4T2YoJ0FBREIyQzkwMTE4JykgIT09IC0xO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgaXNJbnRlcmFjdGlvbkluUHJvZ3Jlc3MoZXJyb3I6IEF1dGhFcnJvcikge1xuICAgIHJldHVybiBlcnJvci5lcnJvckNvZGUgPT09IEJyb3dzZXJBdXRoRXJyb3JNZXNzYWdlLmludGVyYWN0aW9uSW5Qcm9ncmVzcy5jb2RlO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRBdXRoUmVzdWx0KHVzZXI6IHsgc3ViOiBzdHJpbmcgfSB8IHVuZGVmaW5lZCkge1xuICAgIGlmICh1c2VyKSB7XG4gICAgICByZXR1cm4gc2lnbmVkSW4oeyB1c2VyIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gc2lnbmVkT3V0KCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjb21wbGV0ZVNpZ25JbigpIHtcbiAgICByZXR1cm4gdGhpcy5hdXRoLmhhbmRsZVJlZGlyZWN0Q2FsbGJhY2soKS5waXBlKFxuICAgICAgbWFwKHJlc3VsdCA9PiBzaWduSW5Db21wbGV0ZWQoeyBzdGF0ZTogcmVzdWx0LnN0YXRlLCB1c2VyOiByZXN1bHQudXNlciB9KSksXG4gICAgICBjYXRjaEVycm9yKGVycm9yID0+IG9mKHNpZ25JbkZhaWxlZCh7IGVycm9yIH0pKSlcbiAgICApO1xuICB9XG59XG4iXX0=
|
|
61
|
+
}], ctorParameters: () => [{ type: i1.Actions }, { type: i2.AuthService }, { type: i3.Router }] });
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5lZmZlY3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYjJjLWFuZ3VsYXIvc3JjL2xpYi9lZmZlY3RzL2F1dGguZWZmZWN0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsU0FBUyxFQUFFLHVCQUF1QixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDekUsT0FBTyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUM3RSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLEVBQ0wsSUFBSSxFQUNKLGFBQWEsRUFDYixRQUFRLEVBQ1IsU0FBUyxFQUNULE1BQU0sRUFDTixlQUFlLEVBQ2YsWUFBWSxFQUNaLGdCQUFnQixFQUNoQixPQUFPLEdBQ1IsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7O0FBRzlDLE1BQU0sT0FBTyxXQUFXO0lBOEZ0QixZQUNtQixRQUFpQixFQUNqQixJQUFpQixFQUNqQixNQUFjO1FBRmQsYUFBUSxHQUFSLFFBQVEsQ0FBUztRQUNqQixTQUFJLEdBQUosSUFBSSxDQUFhO1FBQ2pCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFoR2pCLFlBQU8sR0FBRyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQzFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUNoQixNQUFNLENBQUMsTUFBTSxDQUFDLEVBQ2QsU0FBUyxDQUFDLE1BQU0s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Y3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQXV0aEVycm9yLCBCcm93c2VyQXV0aEVycm9yTWVzc2FnZSB9IGZyb20gJ0BhenVyZS9tc2FsLWJyb3dzZXInO1xuaW1wb3J0IHsgQWN0aW9ucywgY3JlYXRlRWZmZWN0LCBvZlR5cGUsIE9uSW5pdEVmZmVjdHMgfSBmcm9tICdAbmdyeC9lZmZlY3RzJztcbmltcG9ydCB7IG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBmaWx0ZXIsIG1hcCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtcbiAgaW5pdCxcbiAgcmVzZXRQYXNzd29yZCxcbiAgc2lnbmVkSW4sXG4gIHNpZ25lZE91dCxcbiAgc2lnbkluLFxuICBzaWduSW5Db21wbGV0ZWQsXG4gIHNpZ25JbkZhaWxlZCxcbiAgc2lnbkluUmVkaXJlY3RlZCxcbiAgc2lnbk91dCxcbn0gZnJvbSAnLi4vYWN0aW9ucy9hdXRoLmFjdGlvbnMnO1xuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi9hdXRoLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQXV0aEVmZmVjdHMgaW1wbGVtZW50cyBPbkluaXRFZmZlY3RzIHtcbiAgcHVibGljIHJlYWRvbmx5IHNpZ25JbiQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICBvZlR5cGUoc2lnbkluKSxcbiAgICAgIHN3aXRjaE1hcChhY3Rpb24gPT5cbiAgICAgICAgdGhpcy5hdXRoLmxvZ2luV2l0aFJlZGlyZWN0KHsgdGFyZ2V0OiBhY3Rpb24ucmV0dXJuVXJsIH0pLnBpcGUoXG4gICAgICAgICAgbWFwKCgpID0+IHNpZ25JblJlZGlyZWN0ZWQoKSksXG4gICAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiBvZihzaWduSW5GYWlsZWQoeyBlcnJvciB9KSkpLFxuICAgICAgICApLFxuICAgICAgKSxcbiAgICApLFxuICApO1xuXG4gIHB1YmxpYyByZWFkb25seSBwYXNzd29yZFJlc2V0JCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgIG9mVHlwZShyZXNldFBhc3N3b3JkKSxcbiAgICAgIHN3aXRjaE1hcChhY3Rpb24gPT5cbiAgICAgICAgdGhpcy5hdXRoLnJlc2V0UGFzc3dvcmRXaXRoUmVkaXJlY3QoeyB0YXJnZXQ6IGFjdGlvbi5yZXR1cm5VcmwgfSkucGlwZShcbiAgICAgICAgICBtYXAoKCkgPT4gc2lnbkluUmVkaXJlY3RlZCgpKSxcbiAgICAgICAgICBjYXRjaEVycm9yKGVycm9yID0+IG9mKHNpZ25JbkZhaWxlZCh7IGVycm9yIH0pKSksXG4gICAgICAgICksXG4gICAgICApLFxuICAgICksXG4gICk7XG5cbiAgcHVibGljIHJlYWRvbmx5IHNpZ25JbkNvbXBsZXRlZCQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICBvZlR5cGUoc2lnbkluQ29tcGxldGVkKSxcbiAgICAgIG1hcCgoeyBzdGF0ZSwgdXNlciB9KSA9PiAoc3RhdGUucGFzc3dvcmRSZXNldCA/IHNpZ25PdXQoKSA6IHNpZ25lZEluKHsgdXNlciB9KSkpLFxuICAgICksXG4gICk7XG5cbiAgcHVibGljIHJlYWRvbmx5IHJlZGlyZWN0JCA9IGNyZWF0ZUVmZmVjdChcbiAgICAoKSA9PlxuICAgICAgdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgICAgICBvZlR5cGUoc2lnbkluQ29tcGxldGVkKSxcbiAgICAgICAgc3dpdGNoTWFwKGFjdGlvbiA9PiB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKGFjdGlvbi5zdGF0ZS50YXJnZXQsIHsgcmVwbGFjZVVybDogdHJ1ZSB9KSksXG4gICAgICApLFxuICAgIHsgZGlzcGF0Y2g6IGZhbHNlIH0sXG4gICk7XG5cbiAgcHVibGljIHJlYWRvbmx5IHNpZ25PdXQkID0gY3JlYXRlRWZmZWN0KCgpID0+XG4gICAgdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgICAgb2ZUeXBlKHNpZ25PdXQpLFxuICAgICAgc3dpdGNoTWFwKF8gPT5cbiAgICAgICAgdGhpcy5hdXRoLmxvZ291dCgpLnBpcGUoXG4gICAgICAgICAgbWFwKCgpID0+IHNpZ25lZE91dCgpKSxcbiAgICAgICAgICBjYXRjaEVycm9yKCgpID0+IG9mKHNpZ25lZE91dCgpKSksXG4gICAgICAgICksXG4gICAgICApLFxuICAgICksXG4gICk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGluaXQkID0gY3JlYXRlRWZmZWN0KCgpID0+XG4gICAgdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgICAgb2ZUeXBlKGluaXQpLFxuICAgICAgc3dpdGNoTWFwKCgpID0+IHtcbiAgICAgICAgY29uc3QgcGFyYW1zID0gd2luZG93LmxvY2F0aW9uLmhhc2g7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgIChwYXJhbXMuaW5jbHVkZXMoJ2NvZGU9JykgJiYgcGFyYW1zLmluY2x1ZGVzKCdzdGF0ZT0nKSkgfHxcbiAgICAgICAgICAocGFyYW1zLmluY2x1ZGVzKCdlcnJvcj0nKSAmJiBwYXJhbXMuaW5jbHVkZXMoJ2Vycm9yX2Rlc2NyaXB0aW9uPScpKVxuICAgICAgICApIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5jb21wbGV0ZVNpZ25JbigpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiB0aGlzLmF1dGguY2hlY2tTZXNzaW9uKCkucGlwZShcbiAgICAgICAgICAgIG1hcCh1c2VyID0+IHRoaXMuZ2V0QXV0aFJlc3VsdCh1c2VyKSksXG4gICAgICAgICAgICBjYXRjaEVycm9yKGVycm9yID0+IG9mKHNpZ25JbkZhaWxlZCh7IGVycm9yIH0pKSksXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfSksXG4gICAgKSxcbiAgKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgcmVzZXRQYXNzd29yZCQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICBvZlR5cGUoc2lnbkluRmFpbGVkKSxcbiAgICAgIGZpbHRlcihhY3Rpb24gPT4gYWN0aW9uLmVycm9yIGluc3RhbmNlb2YgQXV0aEVycm9yKSxcbiAgICAgIG1hcChhY3Rpb24gPT4gYWN0aW9uLmVycm9yIGFzIEF1dGhFcnJvciksXG4gICAgICBmaWx0ZXIoQXV0aEVmZmVjdHMuaXNGb3Jnb3RQYXNzd29yZEVycm9yKSxcbiAgICAgIG1hcCgoKSA9PiByZXNldFBhc3N3b3JkKHsgcmV0dXJuVXJsOiAnLycgfSkpLFxuICAgICksXG4gICk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGZhaWxlZCQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICBvZlR5cGUoc2lnbkluRmFpbGVkKSxcbiAgICAgIGZpbHRlcihhY3Rpb24gPT4gYWN0aW9uLmVycm9yIGluc3RhbmNlb2YgQXV0aEVycm9yKSxcbiAgICAgIG1hcChhY3Rpb24gPT4gYWN0aW9uLmVycm9yIGFzIEF1dGhFcnJvciksXG4gICAgICBmaWx0ZXIoQXV0aEVmZmVjdHMuaXNJbnRlcmFjdGlvbkluUHJvZ3Jlc3MpLFxuICAgICAgbWFwKCgpID0+IHNpZ25PdXQoKSksXG4gICAgKSxcbiAgKTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBhY3Rpb25zJDogQWN0aW9ucyxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGF1dGg6IEF1dGhTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXIsXG4gICkge31cblxuICBwdWJsaWMgbmdyeE9uSW5pdEVmZmVjdHMoKSB7XG4gICAgcmV0dXJuIGluaXQoKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGlzRm9yZ290UGFzc3dvcmRFcnJvcihlcnJvcjogQXV0aEVycm9yKSB7XG4gICAgcmV0dXJuIGVycm9yLmVycm9yQ29kZSA9PT0gJ2FjY2Vzc19kZW5pZWQnICYmIGVycm9yLmVycm9yTWVzc2FnZS5pbmRleE9mKCdBQURCMkM5MDExOCcpICE9PSAtMTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGlzSW50ZXJhY3Rpb25JblByb2dyZXNzKGVycm9yOiBBdXRoRXJyb3IpIHtcbiAgICByZXR1cm4gZXJyb3IuZXJyb3JDb2RlID09PSBCcm93c2VyQXV0aEVycm9yTWVzc2FnZS5pbnRlcmFjdGlvbkluUHJvZ3Jlc3MuY29kZTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0QXV0aFJlc3VsdCh1c2VyOiB7IHN1Yjogc3RyaW5nIH0gfCB1bmRlZmluZWQpIHtcbiAgICBpZiAodXNlcikge1xuICAgICAgcmV0dXJuIHNpZ25lZEluKHsgdXNlciB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHNpZ25lZE91dCgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY29tcGxldGVTaWduSW4oKSB7XG4gICAgcmV0dXJuIHRoaXMuYXV0aC5oYW5kbGVSZWRpcmVjdENhbGxiYWNrKCkucGlwZShcbiAgICAgIG1hcChyZXN1bHQgPT4gc2lnbkluQ29tcGxldGVkKHsgc3RhdGU6IHJlc3VsdC5zdGF0ZSwgdXNlcjogcmVzdWx0LnVzZXIgfSkpLFxuICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiBvZihzaWduSW5GYWlsZWQoeyBlcnJvciB9KSkpLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -2,15 +2,14 @@ import { inject, Injectable } from '@angular/core';
|
|
|
2
2
|
import { map, mergeMap } from 'rxjs/operators';
|
|
3
3
|
import { AuthService } from './auth.service';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
|
-
class JwtInterceptor {
|
|
5
|
+
export class JwtInterceptor {
|
|
6
6
|
intercept(request, next) {
|
|
7
7
|
return jwtInterceptor(request, next.handle);
|
|
8
8
|
}
|
|
9
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
10
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
9
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: JwtInterceptor, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
10
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: JwtInterceptor }); }
|
|
11
11
|
}
|
|
12
|
-
|
|
13
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: JwtInterceptor, decorators: [{
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: JwtInterceptor, decorators: [{
|
|
14
13
|
type: Injectable
|
|
15
14
|
}] });
|
|
16
15
|
export const jwtInterceptor = (request, next) => {
|
|
@@ -27,4 +26,4 @@ function isSameDomain(request) {
|
|
|
27
26
|
const isAbsolute = /^https?:\/\//i.test(request.url);
|
|
28
27
|
return !isAbsolute;
|
|
29
28
|
}
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiand0LmludGVyY2VwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYjJjLWFuZ3VsYXIvc3JjL2xpYi9qd3QuaW50ZXJjZXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBRzdDLE1BQU0sT0FBTyxjQUFjO0lBQ2xCLFNBQVMsQ0FBQyxPQUF5QixFQUFFLElBQWlCO1FBQzNELE9BQU8sY0FBYyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDOUMsQ0FBQzs4R0FIVSxjQUFjO2tIQUFkLGNBQWM7OzJGQUFkLGNBQWM7a0JBRDFCLFVBQVU7O0FBT1gsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFzQixDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsRUFBRTtJQUNqRSxJQUFJLFlBQVksQ0FBQyxPQUFPLENBQUMsRUFBRTtRQUN6QixPQUFPLE1BQU0sQ0FBQyxXQUFXLENBQUM7YUFDdkIsY0FBYyxFQUFFO2FBQ2hCLElBQUksQ0FDSCxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsVUFBVSxFQUFFLEVBQUUsYUFBYSxFQUFFLFVBQVUsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFDakYsUUFBUSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUN2RCxDQUFDO0tBQ0w7U0FBTTtRQUNMLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0tBQ3RCO0FBQ0gsQ0FBQyxDQUFDO0FBRUYsU0FBUyxZQUFZLENBQUMsT0FBeUI7SUFDN0MsTUFBTSxVQUFVLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFFckQsT0FBTyxDQUFDLFVBQVUsQ0FBQztBQUNyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cEhhbmRsZXIsIEh0dHBJbnRlcmNlcHRvciwgSHR0cEludGVyY2VwdG9yRm4sIEh0dHBSZXF1ZXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBtYXAsIG1lcmdlTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuL2F1dGguc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBKd3RJbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XG4gIHB1YmxpYyBpbnRlcmNlcHQocmVxdWVzdDogSHR0cFJlcXVlc3Q8YW55PiwgbmV4dDogSHR0cEhhbmRsZXIpIHtcbiAgICByZXR1cm4gand0SW50ZXJjZXB0b3IocmVxdWVzdCwgbmV4dC5oYW5kbGUpO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBqd3RJbnRlcmNlcHRvcjogSHR0cEludGVyY2VwdG9yRm4gPSAocmVxdWVzdCwgbmV4dCkgPT4ge1xuICBpZiAoaXNTYW1lRG9tYWluKHJlcXVlc3QpKSB7XG4gICAgcmV0dXJuIGluamVjdChBdXRoU2VydmljZSlcbiAgICAgIC5nZXRBY2Nlc3NUb2tlbigpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKHRva2VuID0+IHJlcXVlc3QuY2xvbmUoeyBzZXRIZWFkZXJzOiB7IEF1dGhvcml6YXRpb246IGBCZWFyZXIgJHt0b2tlbn1gIH0gfSkpLFxuICAgICAgICBtZXJnZU1hcChhdXRob3JpemVkUmVxdWVzdCA9PiBuZXh0KGF1dGhvcml6ZWRSZXF1ZXN0KSksXG4gICAgICApO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBuZXh0KHJlcXVlc3QpO1xuICB9XG59O1xuXG5mdW5jdGlvbiBpc1NhbWVEb21haW4ocmVxdWVzdDogSHR0cFJlcXVlc3Q8YW55Pikge1xuICBjb25zdCBpc0Fic29sdXRlID0gL15odHRwcz86XFwvXFwvL2kudGVzdChyZXF1ZXN0LnVybCk7XG5cbiAgcmV0dXJuICFpc0Fic29sdXRlO1xufVxuIl19
|
|
@@ -17,4 +17,4 @@ const authReducer = createReducer(startAuthentication, on(signedIn, (state, { us
|
|
|
17
17
|
export function reducer(state, action) {
|
|
18
18
|
return authReducer(state, action);
|
|
19
19
|
}
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5yZWR1Y2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYjJjLWFuZ3VsYXIvc3JjL2xpYi9yZWR1Y2Vycy9hdXRoLnJlZHVjZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFVLGFBQWEsRUFBRSxFQUFFLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDeEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFHNUUsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQVU7SUFDckMsY0FBYyxFQUFFLEtBQUs7SUFDckIsYUFBYSxFQUFFLEtBQUs7Q0FDckIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFVO0lBQ3hDLGNBQWMsRUFBRSxJQUFJO0lBQ3BCLGFBQWEsRUFBRSxLQUFLO0NBQ3JCLENBQUM7QUFFRixNQUFNLFdBQVcsR0FBRyxhQUFhLENBQy9CLG1CQUFtQixFQUNuQixFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDakMsR0FBRyxLQUFLO0lBQ1IsY0FBYyxFQUFFLEtBQUs7SUFDckIsYUFBYSxFQUFFLElBQUk7SUFDbkIsSUFBSTtDQUNMLENBQUMsQ0FBQyxFQUNILEVBQUUsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUNwQyxFQUFFLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsQ0FDeEMsQ0FBQztBQUVGLE1BQU0sVUFBVSxPQUFPLENBQUMsS0FBd0IsRUFBRSxNQUFjO0lBQzlELE9BQU8sV0FBVyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztBQUNwQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWN0aW9uLCBjcmVhdGVSZWR1Y2VyLCBvbiB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IHNpZ25lZEluLCBzaWduZWRPdXQsIHNpZ25JbkZhaWxlZCB9IGZyb20gJy4uL2FjdGlvbnMvYXV0aC5hY3Rpb25zJztcbmltcG9ydCB7IFN0YXRlIH0gZnJvbSAnLi4vc3RhdGUvYXV0aC5zdGF0ZSc7XG5cbmV4cG9ydCBjb25zdCBub0F1dGhlbnRpY2F0aW9uOiBTdGF0ZSA9IHtcbiAgYXV0aGVudGljYXRpbmc6IGZhbHNlLFxuICBhdXRoZW50aWNhdGVkOiBmYWxzZSxcbn07XG5cbmV4cG9ydCBjb25zdCBzdGFydEF1dGhlbnRpY2F0aW9uOiBTdGF0ZSA9IHtcbiAgYXV0aGVudGljYXRpbmc6IHRydWUsXG4gIGF1dGhlbnRpY2F0ZWQ6IGZhbHNlLFxufTtcblxuY29uc3QgYXV0aFJlZHVjZXIgPSBjcmVhdGVSZWR1Y2VyKFxuICBzdGFydEF1dGhlbnRpY2F0aW9uLFxuICBvbihzaWduZWRJbiwgKHN0YXRlLCB7IHVzZXIgfSkgPT4gKHtcbiAgICAuLi5zdGF0ZSxcbiAgICBhdXRoZW50aWNhdGluZzogZmFsc2UsXG4gICAgYXV0aGVudGljYXRlZDogdHJ1ZSxcbiAgICB1c2VyLFxuICB9KSksXG4gIG9uKHNpZ25lZE91dCwgXyA9PiBub0F1dGhlbnRpY2F0aW9uKSxcbiAgb24oc2lnbkluRmFpbGVkLCBfID0+
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5yZWR1Y2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYjJjLWFuZ3VsYXIvc3JjL2xpYi9yZWR1Y2Vycy9hdXRoLnJlZHVjZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFVLGFBQWEsRUFBRSxFQUFFLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDeEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFHNUUsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQVU7SUFDckMsY0FBYyxFQUFFLEtBQUs7SUFDckIsYUFBYSxFQUFFLEtBQUs7Q0FDckIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFVO0lBQ3hDLGNBQWMsRUFBRSxJQUFJO0lBQ3BCLGFBQWEsRUFBRSxLQUFLO0NBQ3JCLENBQUM7QUFFRixNQUFNLFdBQVcsR0FBRyxhQUFhLENBQy9CLG1CQUFtQixFQUNuQixFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDakMsR0FBRyxLQUFLO0lBQ1IsY0FBYyxFQUFFLEtBQUs7SUFDckIsYUFBYSxFQUFFLElBQUk7SUFDbkIsSUFBSTtDQUNMLENBQUMsQ0FBQyxFQUNILEVBQUUsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUNwQyxFQUFFLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsQ0FDeEMsQ0FBQztBQUVGLE1BQU0sVUFBVSxPQUFPLENBQUMsS0FBd0IsRUFBRSxNQUFjO0lBQzlELE9BQU8sV0FBVyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztBQUNwQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWN0aW9uLCBjcmVhdGVSZWR1Y2VyLCBvbiB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IHNpZ25lZEluLCBzaWduZWRPdXQsIHNpZ25JbkZhaWxlZCB9IGZyb20gJy4uL2FjdGlvbnMvYXV0aC5hY3Rpb25zJztcbmltcG9ydCB7IFN0YXRlIH0gZnJvbSAnLi4vc3RhdGUvYXV0aC5zdGF0ZSc7XG5cbmV4cG9ydCBjb25zdCBub0F1dGhlbnRpY2F0aW9uOiBTdGF0ZSA9IHtcbiAgYXV0aGVudGljYXRpbmc6IGZhbHNlLFxuICBhdXRoZW50aWNhdGVkOiBmYWxzZSxcbn07XG5cbmV4cG9ydCBjb25zdCBzdGFydEF1dGhlbnRpY2F0aW9uOiBTdGF0ZSA9IHtcbiAgYXV0aGVudGljYXRpbmc6IHRydWUsXG4gIGF1dGhlbnRpY2F0ZWQ6IGZhbHNlLFxufTtcblxuY29uc3QgYXV0aFJlZHVjZXIgPSBjcmVhdGVSZWR1Y2VyKFxuICBzdGFydEF1dGhlbnRpY2F0aW9uLFxuICBvbihzaWduZWRJbiwgKHN0YXRlLCB7IHVzZXIgfSkgPT4gKHtcbiAgICAuLi5zdGF0ZSxcbiAgICBhdXRoZW50aWNhdGluZzogZmFsc2UsXG4gICAgYXV0aGVudGljYXRlZDogdHJ1ZSxcbiAgICB1c2VyLFxuICB9KSksXG4gIG9uKHNpZ25lZE91dCwgXyA9PiBub0F1dGhlbnRpY2F0aW9uKSxcbiAgb24oc2lnbkluRmFpbGVkLCBfID0+IG5vQXV0aGVudGljYXRpb24pLFxuKTtcblxuZXhwb3J0IGZ1bmN0aW9uIHJlZHVjZXIoc3RhdGU6IFN0YXRlIHwgdW5kZWZpbmVkLCBhY3Rpb246IEFjdGlvbikge1xuICByZXR1cm4gYXV0aFJlZHVjZXIoc3RhdGUsIGFjdGlvbik7XG59XG4iXX0=
|
|
@@ -5,4 +5,4 @@ export const featureKey = 'auth';
|
|
|
5
5
|
export const selectState = createFeatureSelector(featureKey);
|
|
6
6
|
export const isAuthenticated = pipe(select(selectState), filter(state => !state.authenticating), map(state => state.authenticated));
|
|
7
7
|
export const getUser = pipe(select(selectState), filter(state => !state.authenticating), map(state => state.user));
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iMmMtYW5ndWxhci9zcmMvbGliL3N0b3JlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM1QixPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRzdDLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUM7QUFFakMsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLHFCQUFxQixDQUFRLFVBQVUsQ0FBQyxDQUFDO0FBRXBFLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQ2pDLE1BQU0sQ0FBQyxXQUFXLENBQUMsRUFDbkIsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLEVBQ3RDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FDbEMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQ3pCLE1BQU0sQ0FBQyxXQUFXLENBQUMsRUFDbkIsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLEVBQ3RDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FDekIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZUZlYXR1cmVTZWxlY3Rvciwgc2VsZWN0IH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgcGlwZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBTdGF0ZSB9IGZyb20gJy4uL3N0YXRlL2F1dGguc3RhdGUnO1xuXG5leHBvcnQgY29uc3QgZmVhdHVyZUtleSA9ICdhdXRoJztcblxuZXhwb3J0IGNvbnN0IHNlbGVjdFN0YXRlID0gY3JlYXRlRmVhdHVyZVNlbGVjdG9yPFN0YXRlPihmZWF0dXJlS2V5KTtcblxuZXhwb3J0IGNvbnN0IGlzQXV0aGVudGljYXRlZCA9IHBpcGUoXG4gIHNlbGVjdChzZWxlY3RTdGF0ZSksXG4gIGZpbHRlcihzdGF0ZSA9PiAhc3RhdGUuYXV0aGVudGljYXRpbmcpLFxuICBtYXAoc3RhdGUgPT4gc3RhdGUuYXV0aGVudGljYXRlZCksXG4pO1xuXG5leHBvcnQgY29uc3QgZ2V0VXNlciA9IHBpcGUoXG4gIHNlbGVjdChzZWxlY3RTdGF0ZSksXG4gIGZpbHRlcihzdGF0ZSA9PiAhc3RhdGUuYXV0aGVudGljYXRpbmcpLFxuICBtYXAoc3RhdGUgPT4gc3RhdGUudXNlciksXG4pO1xuIl19
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import * as i1 from '@ngrx/store';
|
|
2
|
-
import { createAction, props, createFeatureSelector, select,
|
|
2
|
+
import { createAction, props, createFeatureSelector, select, on, createReducer, StoreModule, provideState } from '@ngrx/store';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
4
|
import { Injectable, inject, NgModule, makeEnvironmentProviders } from '@angular/core';
|
|
5
5
|
import { filter, map, tap, first, catchError, switchMap, mergeMap } from 'rxjs/operators';
|
|
6
6
|
import { pipe, from, of, throwError } from 'rxjs';
|
|
7
7
|
import { HTTP_INTERCEPTORS } from '@angular/common/http';
|
|
8
8
|
import * as i1$1 from '@ngrx/effects';
|
|
9
|
-
import {
|
|
9
|
+
import { ofType, createEffect, EffectsModule, provideEffects } from '@ngrx/effects';
|
|
10
10
|
import * as i3 from '@angular/router';
|
|
11
11
|
import { PublicClientApplication, InteractionRequiredAuthError, AuthError, BrowserAuthErrorMessage } from '@azure/msal-browser';
|
|
12
12
|
|
|
@@ -37,15 +37,15 @@ class AuthGuard {
|
|
|
37
37
|
}
|
|
38
38
|
}), first());
|
|
39
39
|
}
|
|
40
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
41
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
40
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AuthGuard, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
41
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AuthGuard, providedIn: 'root' }); }
|
|
42
42
|
}
|
|
43
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
43
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AuthGuard, decorators: [{
|
|
44
44
|
type: Injectable,
|
|
45
45
|
args: [{
|
|
46
46
|
providedIn: 'root',
|
|
47
47
|
}]
|
|
48
|
-
}], ctorParameters:
|
|
48
|
+
}], ctorParameters: () => [{ type: i1.Store }] });
|
|
49
49
|
|
|
50
50
|
class AuthConfig {
|
|
51
51
|
}
|
|
@@ -101,15 +101,15 @@ class AuthService {
|
|
|
101
101
|
return of(undefined);
|
|
102
102
|
}
|
|
103
103
|
}
|
|
104
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
105
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
104
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AuthService, deps: [{ token: AuthConfig }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
105
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AuthService, providedIn: 'root' }); }
|
|
106
106
|
}
|
|
107
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
107
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AuthService, decorators: [{
|
|
108
108
|
type: Injectable,
|
|
109
109
|
args: [{
|
|
110
110
|
providedIn: 'root',
|
|
111
111
|
}]
|
|
112
|
-
}], ctorParameters:
|
|
112
|
+
}], ctorParameters: () => [{ type: AuthConfig }] });
|
|
113
113
|
|
|
114
114
|
class AuthEffects {
|
|
115
115
|
constructor(actions$, auth, router) {
|
|
@@ -154,21 +154,21 @@ class AuthEffects {
|
|
|
154
154
|
completeSignIn() {
|
|
155
155
|
return this.auth.handleRedirectCallback().pipe(map(result => signInCompleted({ state: result.state, user: result.user })), catchError(error => of(signInFailed({ error }))));
|
|
156
156
|
}
|
|
157
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
158
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
157
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AuthEffects, deps: [{ token: i1$1.Actions }, { token: AuthService }, { token: i3.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
158
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AuthEffects }); }
|
|
159
159
|
}
|
|
160
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
160
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AuthEffects, decorators: [{
|
|
161
161
|
type: Injectable
|
|
162
|
-
}], ctorParameters:
|
|
162
|
+
}], ctorParameters: () => [{ type: i1$1.Actions }, { type: AuthService }, { type: i3.Router }] });
|
|
163
163
|
|
|
164
164
|
class JwtInterceptor {
|
|
165
165
|
intercept(request, next) {
|
|
166
166
|
return jwtInterceptor(request, next.handle);
|
|
167
167
|
}
|
|
168
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
169
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
168
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: JwtInterceptor, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
169
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: JwtInterceptor }); }
|
|
170
170
|
}
|
|
171
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
171
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: JwtInterceptor, decorators: [{
|
|
172
172
|
type: Injectable
|
|
173
173
|
}] });
|
|
174
174
|
const jwtInterceptor = (request, next) => {
|
|
@@ -221,11 +221,11 @@ class AuthModule {
|
|
|
221
221
|
],
|
|
222
222
|
};
|
|
223
223
|
}
|
|
224
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
225
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
226
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
224
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AuthModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
225
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.4", ngImport: i0, type: AuthModule, imports: [i1.StoreFeatureModule, i1$1.EffectsFeatureModule] }); }
|
|
226
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AuthModule, imports: [StoreModule.forFeature(featureKey, reducer), EffectsModule.forFeature([AuthEffects])] }); }
|
|
227
227
|
}
|
|
228
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
228
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AuthModule, decorators: [{
|
|
229
229
|
type: NgModule,
|
|
230
230
|
args: [{
|
|
231
231
|
declarations: [],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thecla-b2c-angular.mjs","sources":["../../../projects/b2c-angular/src/lib/actions/auth.actions.ts","../../../projects/b2c-angular/src/lib/store/index.ts","../../../projects/b2c-angular/src/lib/auth.guard.ts","../../../projects/b2c-angular/src/lib/auth-config.ts","../../../projects/b2c-angular/src/lib/auth.service.ts","../../../projects/b2c-angular/src/lib/effects/auth.effects.ts","../../../projects/b2c-angular/src/lib/jwt.interceptor.ts","../../../projects/b2c-angular/src/lib/reducers/auth.reducer.ts","../../../projects/b2c-angular/src/lib/auth.module.ts","../../../projects/b2c-angular/src/lib/provide-auth.ts","../../../projects/b2c-angular/src/thecla-b2c-angular.ts"],"sourcesContent":["import { createAction, props } from '@ngrx/store';\nimport { Profile } from '../state/auth.state';\n\nexport const init = createAction('[@thecla/b2c-angular] init');\n\nexport const signIn = createAction('[@thecla/b2c-angular] sign-in', props<{ returnUrl: string }>());\n\nexport const signInRedirected = createAction('[@thecla/b2c-angular] sign in redirected');\n\nexport const signInCompleted = createAction(\n '[@thecla/b2c-angular] sign in completed',\n props<{ state: { target: string; passwordReset: boolean }; user: Profile }>()\n);\n\nexport const signedIn = createAction('[@thecla/b2c-angular] signed in', props<{ user: Profile }>());\n\nexport const signInFailed = createAction('[@thecla/b2c-angular] sign in failed', props<{ error: Error }>());\n\nexport const signOut = createAction('[@thecla/b2c-angular] sign out');\n\nexport const signedOut = createAction('[@thecla/b2c-angular] signed out');\n\nexport const resetPassword = createAction('[@thecla/b2c-angular] reset password', props<{ returnUrl: string }>());\n","import { createFeatureSelector, select } from '@ngrx/store';\nimport { pipe } from 'rxjs';\nimport { filter, map } from 'rxjs/operators';\nimport { State } from '../state/auth.state';\n\nexport const featureKey = 'auth';\n\nexport const selectState = createFeatureSelector<State>(featureKey);\n\nexport const isAuthenticated = pipe(\n select(selectState),\n filter(state => !state.authenticating),\n map(state => state.authenticated)\n);\n\nexport const getUser = pipe(\n select(selectState),\n filter(state => !state.authenticating),\n map(state => state.user)\n);\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\nimport { Store } from '@ngrx/store';\nimport { first, tap } from 'rxjs/operators';\nimport { signIn } from './actions/auth.actions';\nimport { isAuthenticated } from './store';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AuthGuard {\n private readonly authenticated$ = this.store.pipe(isAuthenticated);\n\n public constructor(private readonly store: Store) {}\n\n public canActivate(next: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\n return this.authenticated$.pipe(\n tap(auth => {\n if (!auth) {\n this.store.dispatch(signIn({ returnUrl: state.url }));\n }\n }),\n first()\n );\n }\n}\n","export abstract class AuthConfig {\n public abstract clientId: string;\n public abstract authority: string;\n public abstract signInPolicy: string;\n public abstract resetPasswordPolicy: string;\n public abstract knownAuthorities: string[];\n public abstract scopes: string[];\n public abstract redirectUri?: string;\n}\n","import { Injectable } from '@angular/core';\nimport {\n AuthenticationResult,\n Configuration,\n InteractionRequiredAuthError,\n PublicClientApplication,\n} from '@azure/msal-browser';\nimport { from, of, throwError } from 'rxjs';\nimport { catchError, filter, map } from 'rxjs/operators';\nimport { AuthConfig } from './auth-config';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AuthService {\n private readonly clientApplication: PublicClientApplication;\n\n public constructor(private readonly config: AuthConfig) {\n const msalConfig: Configuration = {\n auth: {\n clientId: config.clientId,\n authority: `${config.authority}/${config.signInPolicy}`,\n knownAuthorities: config.knownAuthorities,\n redirectUri: config.redirectUri ?? location.origin,\n },\n };\n\n this.clientApplication = new PublicClientApplication(msalConfig);\n }\n\n public loginWithRedirect(state: { target: string }) {\n return from(\n this.clientApplication.loginRedirect({\n scopes: this.config.scopes,\n state: JSON.stringify({ ...state, passwordReset: false }),\n })\n );\n }\n\n public resetPasswordWithRedirect(state: { target: string }) {\n return from(\n this.clientApplication.loginRedirect({\n authority: `${this.config.authority}/${this.config.resetPasswordPolicy}`,\n scopes: this.config.scopes,\n state: JSON.stringify({ ...state, passwordReset: true }),\n prompt: 'login',\n })\n );\n }\n\n public handleRedirectCallback() {\n return from(this.clientApplication.handleRedirectPromise()).pipe(\n filter((result): result is AuthenticationResult => result !== null),\n map(result => ({\n state: result.state ? JSON.parse(result.state) : undefined,\n user: { sub: result.uniqueId, ...result.idTokenClaims },\n }))\n );\n }\n\n public getAccessToken() {\n const account = this.clientApplication.getAllAccounts()[0];\n const scopes = this.config.scopes;\n\n return from(this.clientApplication.acquireTokenSilent({ account, scopes })).pipe(map(result => result.accessToken));\n }\n\n public logout() {\n return from(this.clientApplication.logoutRedirect({ postLogoutRedirectUri: location.origin }));\n }\n\n public checkSession() {\n const accounts = this.clientApplication.getAllAccounts();\n const scopes = this.config.scopes;\n\n if (accounts.length === 1) {\n return from(this.clientApplication.acquireTokenSilent({ account: accounts[0], scopes })).pipe(\n map(result => ({ sub: result.uniqueId, ...result.idTokenClaims })),\n catchError(error => (error instanceof InteractionRequiredAuthError ? of(undefined) : throwError(error)))\n );\n } else {\n return of(undefined);\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { AuthError, BrowserAuthErrorMessage } from '@azure/msal-browser';\nimport { Actions, createEffect, ofType, OnInitEffects } from '@ngrx/effects';\nimport { of } from 'rxjs';\nimport { catchError, filter, map, switchMap } from 'rxjs/operators';\nimport {\n init,\n resetPassword,\n signedIn,\n signedOut,\n signIn,\n signInCompleted,\n signInFailed,\n signInRedirected,\n signOut,\n} from '../actions/auth.actions';\nimport { AuthService } from '../auth.service';\n\n@Injectable()\nexport class AuthEffects implements OnInitEffects {\n public readonly signIn$ = createEffect(() =>\n this.actions$.pipe(\n ofType(signIn),\n switchMap(action =>\n this.auth.loginWithRedirect({ target: action.returnUrl }).pipe(\n map(() => signInRedirected()),\n catchError(error => of(signInFailed({ error })))\n )\n )\n )\n );\n\n public readonly passwordReset$ = createEffect(() =>\n this.actions$.pipe(\n ofType(resetPassword),\n switchMap(action =>\n this.auth.resetPasswordWithRedirect({ target: action.returnUrl }).pipe(\n map(() => signInRedirected()),\n catchError(error => of(signInFailed({ error })))\n )\n )\n )\n );\n\n public readonly signInCompleted$ = createEffect(() =>\n this.actions$.pipe(\n ofType(signInCompleted),\n map(({ state, user }) => (state.passwordReset ? signOut() : signedIn({ user })))\n )\n );\n\n public readonly redirect$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(signInCompleted),\n switchMap(action => this.router.navigateByUrl(action.state.target, { replaceUrl: true }))\n ),\n { dispatch: false }\n );\n\n public readonly signOut$ = createEffect(() =>\n this.actions$.pipe(\n ofType(signOut),\n switchMap(_ =>\n this.auth.logout().pipe(\n map(() => signedOut()),\n catchError(() => of(signedOut()))\n )\n )\n )\n );\n\n public readonly init$ = createEffect(() =>\n this.actions$.pipe(\n ofType(init),\n switchMap(() => {\n const params = window.location.hash;\n\n if (\n (params.includes('code=') && params.includes('state=')) ||\n (params.includes('error=') && params.includes('error_description='))\n ) {\n return this.completeSignIn();\n } else {\n return this.auth.checkSession().pipe(\n map(user => this.getAuthResult(user)),\n catchError(error => of(signInFailed({ error })))\n );\n }\n })\n )\n );\n\n public readonly resetPassword$ = createEffect(() =>\n this.actions$.pipe(\n ofType(signInFailed),\n filter(action => action.error instanceof AuthError),\n map(action => action.error as AuthError),\n filter(AuthEffects.isForgotPasswordError),\n map(() => resetPassword({ returnUrl: '/' }))\n )\n );\n\n public readonly failed$ = createEffect(() =>\n this.actions$.pipe(\n ofType(signInFailed),\n filter(action => action.error instanceof AuthError),\n map(action => action.error as AuthError),\n filter(AuthEffects.isInteractionInProgress),\n map(() => signOut())\n )\n );\n\n public constructor(\n private readonly actions$: Actions,\n private readonly auth: AuthService,\n private readonly router: Router\n ) {}\n\n public ngrxOnInitEffects() {\n return init();\n }\n\n private static isForgotPasswordError(error: AuthError) {\n return error.errorCode === 'access_denied' && error.errorMessage.indexOf('AADB2C90118') !== -1;\n }\n\n private static isInteractionInProgress(error: AuthError) {\n return error.errorCode === BrowserAuthErrorMessage.interactionInProgress.code;\n }\n\n private getAuthResult(user: { sub: string } | undefined) {\n if (user) {\n return signedIn({ user });\n } else {\n return signedOut();\n }\n }\n\n private completeSignIn() {\n return this.auth.handleRedirectCallback().pipe(\n map(result => signInCompleted({ state: result.state, user: result.user })),\n catchError(error => of(signInFailed({ error })))\n );\n }\n}\n","import { HttpHandler, HttpInterceptor, HttpInterceptorFn, HttpRequest } from '@angular/common/http';\nimport { inject, Injectable } from '@angular/core';\nimport { map, mergeMap } from 'rxjs/operators';\nimport { AuthService } from './auth.service';\n\n@Injectable()\nexport class JwtInterceptor implements HttpInterceptor {\n public intercept(request: HttpRequest<any>, next: HttpHandler) {\n return jwtInterceptor(request, next.handle);\n }\n}\n\nexport const jwtInterceptor: HttpInterceptorFn = (request, next) => {\n if (isSameDomain(request)) {\n return inject(AuthService)\n .getAccessToken()\n .pipe(\n map(token => request.clone({ setHeaders: { Authorization: `Bearer ${token}` } })),\n mergeMap(authorizedRequest => next(authorizedRequest))\n );\n } else {\n return next(request);\n }\n};\n\nfunction isSameDomain(request: HttpRequest<any>) {\n const isAbsolute = /^https?:\\/\\//i.test(request.url);\n\n return !isAbsolute;\n}\n","import { Action, createReducer, on } from '@ngrx/store';\nimport { signedIn, signedOut, signInFailed } from '../actions/auth.actions';\nimport { State } from '../state/auth.state';\n\nexport const noAuthentication: State = {\n authenticating: false,\n authenticated: false,\n};\n\nexport const startAuthentication: State = {\n authenticating: true,\n authenticated: false,\n};\n\nconst authReducer = createReducer(\n startAuthentication,\n on(signedIn, (state, { user }) => ({\n ...state,\n authenticating: false,\n authenticated: true,\n user,\n })),\n on(signedOut, _ => noAuthentication),\n on(signInFailed, _ => noAuthentication)\n);\n\nexport function reducer(state: State | undefined, action: Action) {\n return authReducer(state, action);\n}\n","import { HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { ModuleWithProviders, NgModule } from '@angular/core';\nimport { EffectsModule } from '@ngrx/effects';\nimport { StoreModule } from '@ngrx/store';\nimport { AuthConfig } from './auth-config';\nimport { AuthEffects } from './effects/auth.effects';\nimport { JwtInterceptor } from './jwt.interceptor';\nimport { reducer } from './reducers/auth.reducer';\nimport { featureKey } from './store';\n\n@NgModule({\n declarations: [],\n imports: [StoreModule.forFeature(featureKey, reducer), EffectsModule.forFeature([AuthEffects])],\n exports: [],\n})\nexport class AuthModule {\n public static forRoot(config: AuthConfig): ModuleWithProviders<AuthModule> {\n return {\n ngModule: AuthModule,\n providers: [\n {\n provide: AuthConfig,\n useValue: config,\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: JwtInterceptor,\n multi: true,\n },\n ],\n };\n }\n}\n","import { makeEnvironmentProviders } from '@angular/core';\nimport { provideEffects } from '@ngrx/effects';\nimport { provideState } from '@ngrx/store';\nimport { AuthConfig } from './auth-config';\nimport { AuthEffects } from './effects/auth.effects';\nimport { reducer } from './reducers/auth.reducer';\nimport { featureKey } from './store';\n\nexport function provideAuth(config: AuthConfig) {\n const effects = provideEffects(AuthEffects);\n const state = provideState(featureKey, reducer);\n\n return makeEnvironmentProviders([\n effects,\n state,\n {\n provide: AuthConfig,\n useValue: config,\n },\n ]);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.AuthConfig","i1","i2.AuthService","i2"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"thecla-b2c-angular.mjs","sources":["../../../projects/b2c-angular/src/lib/actions/auth.actions.ts","../../../projects/b2c-angular/src/lib/store/index.ts","../../../projects/b2c-angular/src/lib/auth.guard.ts","../../../projects/b2c-angular/src/lib/auth-config.ts","../../../projects/b2c-angular/src/lib/auth.service.ts","../../../projects/b2c-angular/src/lib/effects/auth.effects.ts","../../../projects/b2c-angular/src/lib/jwt.interceptor.ts","../../../projects/b2c-angular/src/lib/reducers/auth.reducer.ts","../../../projects/b2c-angular/src/lib/auth.module.ts","../../../projects/b2c-angular/src/lib/provide-auth.ts","../../../projects/b2c-angular/src/thecla-b2c-angular.ts"],"sourcesContent":["import { createAction, props } from '@ngrx/store';\nimport { Profile } from '../state/auth.state';\n\nexport const init = createAction('[@thecla/b2c-angular] init');\n\nexport const signIn = createAction('[@thecla/b2c-angular] sign-in', props<{ returnUrl: string }>());\n\nexport const signInRedirected = createAction('[@thecla/b2c-angular] sign in redirected');\n\nexport const signInCompleted = createAction(\n '[@thecla/b2c-angular] sign in completed',\n props<{ state: { target: string; passwordReset: boolean }; user: Profile }>(),\n);\n\nexport const signedIn = createAction('[@thecla/b2c-angular] signed in', props<{ user: Profile }>());\n\nexport const signInFailed = createAction('[@thecla/b2c-angular] sign in failed', props<{ error: Error }>());\n\nexport const signOut = createAction('[@thecla/b2c-angular] sign out');\n\nexport const signedOut = createAction('[@thecla/b2c-angular] signed out');\n\nexport const resetPassword = createAction('[@thecla/b2c-angular] reset password', props<{ returnUrl: string }>());\n","import { createFeatureSelector, select } from '@ngrx/store';\nimport { pipe } from 'rxjs';\nimport { filter, map } from 'rxjs/operators';\nimport { State } from '../state/auth.state';\n\nexport const featureKey = 'auth';\n\nexport const selectState = createFeatureSelector<State>(featureKey);\n\nexport const isAuthenticated = pipe(\n select(selectState),\n filter(state => !state.authenticating),\n map(state => state.authenticated),\n);\n\nexport const getUser = pipe(\n select(selectState),\n filter(state => !state.authenticating),\n map(state => state.user),\n);\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate, RouterStateSnapshot } from '@angular/router';\nimport { Store } from '@ngrx/store';\nimport { first, tap } from 'rxjs/operators';\nimport { signIn } from './actions/auth.actions';\nimport { isAuthenticated } from './store';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AuthGuard implements CanActivate {\n private readonly authenticated$ = this.store.pipe(isAuthenticated);\n\n public constructor(private readonly store: Store) {}\n\n public canActivate(next: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\n return this.authenticated$.pipe(\n tap(auth => {\n if (!auth) {\n this.store.dispatch(signIn({ returnUrl: state.url }));\n }\n }),\n first(),\n );\n }\n}\n","export abstract class AuthConfig {\n public abstract clientId: string;\n public abstract authority: string;\n public abstract signInPolicy: string;\n public abstract resetPasswordPolicy: string;\n public abstract knownAuthorities: string[];\n public abstract scopes: string[];\n public abstract redirectUri?: string;\n}\n","import { Injectable } from '@angular/core';\nimport {\n AuthenticationResult,\n Configuration,\n InteractionRequiredAuthError,\n PublicClientApplication,\n} from '@azure/msal-browser';\nimport { from, of, throwError } from 'rxjs';\nimport { catchError, filter, map } from 'rxjs/operators';\nimport { AuthConfig } from './auth-config';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AuthService {\n private readonly clientApplication: PublicClientApplication;\n\n public constructor(private readonly config: AuthConfig) {\n const msalConfig: Configuration = {\n auth: {\n clientId: config.clientId,\n authority: `${config.authority}/${config.signInPolicy}`,\n knownAuthorities: config.knownAuthorities,\n redirectUri: config.redirectUri ?? location.origin,\n },\n };\n\n this.clientApplication = new PublicClientApplication(msalConfig);\n }\n\n public loginWithRedirect(state: { target: string }) {\n return from(\n this.clientApplication.loginRedirect({\n scopes: this.config.scopes,\n state: JSON.stringify({ ...state, passwordReset: false }),\n }),\n );\n }\n\n public resetPasswordWithRedirect(state: { target: string }) {\n return from(\n this.clientApplication.loginRedirect({\n authority: `${this.config.authority}/${this.config.resetPasswordPolicy}`,\n scopes: this.config.scopes,\n state: JSON.stringify({ ...state, passwordReset: true }),\n prompt: 'login',\n }),\n );\n }\n\n public handleRedirectCallback() {\n return from(this.clientApplication.handleRedirectPromise()).pipe(\n filter((result): result is AuthenticationResult => result !== null),\n map(result => ({\n state: result.state ? JSON.parse(result.state) : undefined,\n user: { sub: result.uniqueId, ...result.idTokenClaims },\n })),\n );\n }\n\n public getAccessToken() {\n const account = this.clientApplication.getAllAccounts()[0];\n const scopes = this.config.scopes;\n\n return from(this.clientApplication.acquireTokenSilent({ account, scopes })).pipe(map(result => result.accessToken));\n }\n\n public logout() {\n return from(this.clientApplication.logoutRedirect({ postLogoutRedirectUri: location.origin }));\n }\n\n public checkSession() {\n const accounts = this.clientApplication.getAllAccounts();\n const scopes = this.config.scopes;\n\n if (accounts.length === 1) {\n return from(this.clientApplication.acquireTokenSilent({ account: accounts[0], scopes })).pipe(\n map(result => ({ sub: result.uniqueId, ...result.idTokenClaims })),\n catchError(error => (error instanceof InteractionRequiredAuthError ? of(undefined) : throwError(error))),\n );\n } else {\n return of(undefined);\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { AuthError, BrowserAuthErrorMessage } from '@azure/msal-browser';\nimport { Actions, createEffect, ofType, OnInitEffects } from '@ngrx/effects';\nimport { of } from 'rxjs';\nimport { catchError, filter, map, switchMap } from 'rxjs/operators';\nimport {\n init,\n resetPassword,\n signedIn,\n signedOut,\n signIn,\n signInCompleted,\n signInFailed,\n signInRedirected,\n signOut,\n} from '../actions/auth.actions';\nimport { AuthService } from '../auth.service';\n\n@Injectable()\nexport class AuthEffects implements OnInitEffects {\n public readonly signIn$ = createEffect(() =>\n this.actions$.pipe(\n ofType(signIn),\n switchMap(action =>\n this.auth.loginWithRedirect({ target: action.returnUrl }).pipe(\n map(() => signInRedirected()),\n catchError(error => of(signInFailed({ error }))),\n ),\n ),\n ),\n );\n\n public readonly passwordReset$ = createEffect(() =>\n this.actions$.pipe(\n ofType(resetPassword),\n switchMap(action =>\n this.auth.resetPasswordWithRedirect({ target: action.returnUrl }).pipe(\n map(() => signInRedirected()),\n catchError(error => of(signInFailed({ error }))),\n ),\n ),\n ),\n );\n\n public readonly signInCompleted$ = createEffect(() =>\n this.actions$.pipe(\n ofType(signInCompleted),\n map(({ state, user }) => (state.passwordReset ? signOut() : signedIn({ user }))),\n ),\n );\n\n public readonly redirect$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(signInCompleted),\n switchMap(action => this.router.navigateByUrl(action.state.target, { replaceUrl: true })),\n ),\n { dispatch: false },\n );\n\n public readonly signOut$ = createEffect(() =>\n this.actions$.pipe(\n ofType(signOut),\n switchMap(_ =>\n this.auth.logout().pipe(\n map(() => signedOut()),\n catchError(() => of(signedOut())),\n ),\n ),\n ),\n );\n\n public readonly init$ = createEffect(() =>\n this.actions$.pipe(\n ofType(init),\n switchMap(() => {\n const params = window.location.hash;\n\n if (\n (params.includes('code=') && params.includes('state=')) ||\n (params.includes('error=') && params.includes('error_description='))\n ) {\n return this.completeSignIn();\n } else {\n return this.auth.checkSession().pipe(\n map(user => this.getAuthResult(user)),\n catchError(error => of(signInFailed({ error }))),\n );\n }\n }),\n ),\n );\n\n public readonly resetPassword$ = createEffect(() =>\n this.actions$.pipe(\n ofType(signInFailed),\n filter(action => action.error instanceof AuthError),\n map(action => action.error as AuthError),\n filter(AuthEffects.isForgotPasswordError),\n map(() => resetPassword({ returnUrl: '/' })),\n ),\n );\n\n public readonly failed$ = createEffect(() =>\n this.actions$.pipe(\n ofType(signInFailed),\n filter(action => action.error instanceof AuthError),\n map(action => action.error as AuthError),\n filter(AuthEffects.isInteractionInProgress),\n map(() => signOut()),\n ),\n );\n\n public constructor(\n private readonly actions$: Actions,\n private readonly auth: AuthService,\n private readonly router: Router,\n ) {}\n\n public ngrxOnInitEffects() {\n return init();\n }\n\n private static isForgotPasswordError(error: AuthError) {\n return error.errorCode === 'access_denied' && error.errorMessage.indexOf('AADB2C90118') !== -1;\n }\n\n private static isInteractionInProgress(error: AuthError) {\n return error.errorCode === BrowserAuthErrorMessage.interactionInProgress.code;\n }\n\n private getAuthResult(user: { sub: string } | undefined) {\n if (user) {\n return signedIn({ user });\n } else {\n return signedOut();\n }\n }\n\n private completeSignIn() {\n return this.auth.handleRedirectCallback().pipe(\n map(result => signInCompleted({ state: result.state, user: result.user })),\n catchError(error => of(signInFailed({ error }))),\n );\n }\n}\n","import { HttpHandler, HttpInterceptor, HttpInterceptorFn, HttpRequest } from '@angular/common/http';\nimport { inject, Injectable } from '@angular/core';\nimport { map, mergeMap } from 'rxjs/operators';\nimport { AuthService } from './auth.service';\n\n@Injectable()\nexport class JwtInterceptor implements HttpInterceptor {\n public intercept(request: HttpRequest<any>, next: HttpHandler) {\n return jwtInterceptor(request, next.handle);\n }\n}\n\nexport const jwtInterceptor: HttpInterceptorFn = (request, next) => {\n if (isSameDomain(request)) {\n return inject(AuthService)\n .getAccessToken()\n .pipe(\n map(token => request.clone({ setHeaders: { Authorization: `Bearer ${token}` } })),\n mergeMap(authorizedRequest => next(authorizedRequest)),\n );\n } else {\n return next(request);\n }\n};\n\nfunction isSameDomain(request: HttpRequest<any>) {\n const isAbsolute = /^https?:\\/\\//i.test(request.url);\n\n return !isAbsolute;\n}\n","import { Action, createReducer, on } from '@ngrx/store';\nimport { signedIn, signedOut, signInFailed } from '../actions/auth.actions';\nimport { State } from '../state/auth.state';\n\nexport const noAuthentication: State = {\n authenticating: false,\n authenticated: false,\n};\n\nexport const startAuthentication: State = {\n authenticating: true,\n authenticated: false,\n};\n\nconst authReducer = createReducer(\n startAuthentication,\n on(signedIn, (state, { user }) => ({\n ...state,\n authenticating: false,\n authenticated: true,\n user,\n })),\n on(signedOut, _ => noAuthentication),\n on(signInFailed, _ => noAuthentication),\n);\n\nexport function reducer(state: State | undefined, action: Action) {\n return authReducer(state, action);\n}\n","import { HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { ModuleWithProviders, NgModule } from '@angular/core';\nimport { EffectsModule } from '@ngrx/effects';\nimport { StoreModule } from '@ngrx/store';\nimport { AuthConfig } from './auth-config';\nimport { AuthEffects } from './effects/auth.effects';\nimport { JwtInterceptor } from './jwt.interceptor';\nimport { reducer } from './reducers/auth.reducer';\nimport { featureKey } from './store';\n\n@NgModule({\n declarations: [],\n imports: [StoreModule.forFeature(featureKey, reducer), EffectsModule.forFeature([AuthEffects])],\n exports: [],\n})\nexport class AuthModule {\n public static forRoot(config: AuthConfig): ModuleWithProviders<AuthModule> {\n return {\n ngModule: AuthModule,\n providers: [\n {\n provide: AuthConfig,\n useValue: config,\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: JwtInterceptor,\n multi: true,\n },\n ],\n };\n }\n}\n","import { makeEnvironmentProviders } from '@angular/core';\nimport { provideEffects } from '@ngrx/effects';\nimport { provideState } from '@ngrx/store';\nimport { AuthConfig } from './auth-config';\nimport { AuthEffects } from './effects/auth.effects';\nimport { reducer } from './reducers/auth.reducer';\nimport { featureKey } from './store';\n\nexport function provideAuth(config: AuthConfig) {\n const effects = provideEffects(AuthEffects);\n const state = provideState(featureKey, reducer);\n\n return makeEnvironmentProviders([\n effects,\n state,\n {\n provide: AuthConfig,\n useValue: config,\n },\n ]);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.AuthConfig","i1","i2.AuthService","i2"],"mappings":"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"}
|
package/lib/auth.guard.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';
|
|
1
|
+
import { ActivatedRouteSnapshot, CanActivate, RouterStateSnapshot } from '@angular/router';
|
|
2
2
|
import { Store } from '@ngrx/store';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
|
-
export declare class AuthGuard {
|
|
4
|
+
export declare class AuthGuard implements CanActivate {
|
|
5
5
|
private readonly store;
|
|
6
6
|
private readonly authenticated$;
|
|
7
7
|
constructor(store: Store);
|
|
@@ -18,6 +18,8 @@ export declare class AuthEffects implements OnInitEffects {
|
|
|
18
18
|
readonly redirect$: import("rxjs").Observable<boolean> & import("@ngrx/effects").CreateEffectMetadata;
|
|
19
19
|
readonly signOut$: import("rxjs").Observable<import("@ngrx/store/src/models").TypedAction<"[@thecla/b2c-angular] signed out">> & import("@ngrx/effects").CreateEffectMetadata;
|
|
20
20
|
readonly init$: import("rxjs").Observable<import("@ngrx/store/src/models").TypedAction<"[@thecla/b2c-angular] signed out"> | ({
|
|
21
|
+
error: Error;
|
|
22
|
+
} & import("@ngrx/store/src/models").TypedAction<"[@thecla/b2c-angular] sign in failed">) | ({
|
|
21
23
|
state: {
|
|
22
24
|
target: string;
|
|
23
25
|
passwordReset: boolean;
|
|
@@ -25,9 +27,7 @@ export declare class AuthEffects implements OnInitEffects {
|
|
|
25
27
|
user: import("@thecla/b2c-angular").Profile;
|
|
26
28
|
} & import("@ngrx/store/src/models").TypedAction<"[@thecla/b2c-angular] sign in completed">) | ({
|
|
27
29
|
user: import("@thecla/b2c-angular").Profile;
|
|
28
|
-
} & import("@ngrx/store/src/models").TypedAction<"[@thecla/b2c-angular] signed in">)
|
|
29
|
-
error: Error;
|
|
30
|
-
} & import("@ngrx/store/src/models").TypedAction<"[@thecla/b2c-angular] sign in failed">)> & import("@ngrx/effects").CreateEffectMetadata;
|
|
30
|
+
} & import("@ngrx/store/src/models").TypedAction<"[@thecla/b2c-angular] signed in">)> & import("@ngrx/effects").CreateEffectMetadata;
|
|
31
31
|
readonly resetPassword$: import("rxjs").Observable<{
|
|
32
32
|
returnUrl: string;
|
|
33
33
|
} & import("@ngrx/store/src/models").TypedAction<"[@thecla/b2c-angular] reset password">> & import("@ngrx/effects").CreateEffectMetadata;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@thecla/b2c-angular",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "9.0.0",
|
|
4
4
|
"author": "Hendrik Wouters",
|
|
5
5
|
"description": "Angular module using NGRX to authenticate with Azure AD B2C",
|
|
6
6
|
"repository": {
|
|
@@ -19,12 +19,12 @@
|
|
|
19
19
|
},
|
|
20
20
|
"homepage": "https://github.com/hwouters/auth0-angular#readme",
|
|
21
21
|
"peerDependencies": {
|
|
22
|
-
"@angular/common": "^
|
|
23
|
-
"@angular/core": "^
|
|
24
|
-
"@angular/router": "^
|
|
25
|
-
"@azure/msal-browser": "^
|
|
26
|
-
"@ngrx/effects": "^
|
|
27
|
-
"@ngrx/store": "^
|
|
22
|
+
"@angular/common": "^17.0.0",
|
|
23
|
+
"@angular/core": "^17.0.0",
|
|
24
|
+
"@angular/router": "^17.0.0",
|
|
25
|
+
"@azure/msal-browser": "^3.5.0",
|
|
26
|
+
"@ngrx/effects": "^17.0.0",
|
|
27
|
+
"@ngrx/store": "^17.0.0"
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
30
|
"tslib": "^2.0.0"
|