@igo2/auth 17.0.0-next.0 → 17.0.0-next.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/environment/environment.interface.d.ts +6 -0
- package/environment/index.d.ts +5 -0
- package/esm2022/environment/environment.interface.mjs +2 -0
- package/esm2022/environment/igo2-auth-environment.mjs +5 -0
- package/esm2022/environment/public_api.mjs +2 -0
- package/esm2022/facebook/auth-facebook/auth-facebook.component.mjs +65 -0
- package/esm2022/facebook/igo2-auth-facebook.mjs +5 -0
- package/esm2022/facebook/public_api.mjs +3 -0
- package/esm2022/facebook/shared/auth-facebook.interface.mjs +2 -0
- package/esm2022/facebook/shared/index.mjs +2 -0
- package/esm2022/form/auth-form/auth-form.component.mjs +166 -0
- package/esm2022/form/auth-form.module.mjs +73 -0
- package/esm2022/form/igo2-auth-form.mjs +5 -0
- package/esm2022/form/public_api.mjs +7 -0
- package/esm2022/form/shared/auth-form.interface.mjs +2 -0
- package/esm2022/form/shared/index.mjs +2 -0
- package/esm2022/google/auth-google/auth-google.component.mjs +108 -0
- package/esm2022/google/igo2-auth-google.mjs +5 -0
- package/esm2022/google/public_api.mjs +3 -0
- package/esm2022/google/shared/auth-google.interface.mjs +2 -0
- package/esm2022/google/shared/index.mjs +2 -0
- package/esm2022/internal/auth-intern/auth-intern.component.mjs +84 -0
- package/esm2022/internal/igo2-auth-internal.mjs +5 -0
- package/esm2022/internal/public_api.mjs +2 -0
- package/esm2022/lib/auth.provider.mjs +22 -0
- package/esm2022/lib/shared/admin.guard.mjs +6 -6
- package/esm2022/lib/shared/auth-storage.interface.mjs +1 -1
- package/esm2022/lib/shared/auth-storage.service.mjs +7 -6
- package/esm2022/lib/shared/auth.guard.mjs +6 -6
- package/esm2022/lib/shared/auth.interceptor.mjs +6 -6
- package/esm2022/lib/shared/auth.interface.mjs +5 -2
- package/esm2022/lib/shared/auth.service.mjs +12 -8
- package/esm2022/lib/shared/index.mjs +3 -5
- package/esm2022/lib/shared/logged.guard.mjs +6 -6
- package/esm2022/lib/shared/profils.guard.mjs +6 -6
- package/esm2022/lib/shared/token.service.mjs +5 -5
- package/esm2022/microsoft/auth-microsoft/auth-microsoft.component.mjs +100 -0
- package/esm2022/microsoft/auth-microsoft.provider.mjs +105 -0
- package/esm2022/microsoft/auth-microsoftb2c/auth-microsoftb2c.component.mjs +98 -0
- package/esm2022/microsoft/auth-microsoftb2c/auth-msalBroadcastServiceb2c.service.mjs +47 -0
- package/esm2022/microsoft/auth-microsoftb2c/auth-msalServiceb2c.service.mjs +85 -0
- package/esm2022/microsoft/igo2-auth-microsoft.mjs +5 -0
- package/esm2022/microsoft/public_api.mjs +5 -0
- package/esm2022/microsoft/shared/auth-microsoft.interface.mjs +2 -0
- package/esm2022/microsoft/shared/index.mjs +2 -0
- package/esm2022/monitoring/auth-monitoring/auth-monitoring.provider.mjs +24 -0
- package/esm2022/monitoring/auth-monitoring/auth-monitoring.service.mjs +54 -0
- package/esm2022/monitoring/igo2-auth-monitoring.mjs +5 -0
- package/esm2022/monitoring/public_api.mjs +3 -0
- package/esm2022/public_api.mjs +3 -19
- package/{lib/auth-form → facebook/auth-facebook}/auth-facebook.component.d.ts +2 -2
- package/facebook/index.d.ts +5 -0
- package/facebook/public_api.d.ts +2 -0
- package/facebook/shared/auth-facebook.interface.d.ts +4 -0
- package/facebook/shared/index.d.ts +1 -0
- package/fesm2022/igo2-auth-environment.mjs +4 -0
- package/fesm2022/igo2-auth-environment.mjs.map +1 -0
- package/fesm2022/igo2-auth-facebook.mjs +70 -0
- package/fesm2022/igo2-auth-facebook.mjs.map +1 -0
- package/fesm2022/igo2-auth-form.mjs +238 -0
- package/fesm2022/igo2-auth-form.mjs.map +1 -0
- package/fesm2022/igo2-auth-google.mjs +112 -0
- package/fesm2022/igo2-auth-google.mjs.map +1 -0
- package/fesm2022/igo2-auth-internal.mjs +89 -0
- package/fesm2022/igo2-auth-internal.mjs.map +1 -0
- package/fesm2022/igo2-auth-microsoft.mjs +404 -0
- package/fesm2022/igo2-auth-microsoft.mjs.map +1 -0
- package/fesm2022/igo2-auth-monitoring.mjs +81 -0
- package/fesm2022/igo2-auth-monitoring.mjs.map +1 -0
- package/fesm2022/igo2-auth.mjs +244 -1143
- package/fesm2022/igo2-auth.mjs.map +1 -1
- package/{lib → form}/auth-form/auth-form.component.d.ts +4 -5
- package/form/auth-form.module.d.ts +20 -0
- package/form/index.d.ts +5 -0
- package/form/public_api.d.ts +3 -0
- package/form/shared/auth-form.interface.d.ts +9 -0
- package/form/shared/index.d.ts +1 -0
- package/{src/lib → form/src}/auth-form/auth-intern.theme.scss +19 -19
- package/form/src/auth-form.theme.scss +9 -0
- package/{lib/auth-form → google/auth-google}/auth-google.component.d.ts +3 -2
- package/google/index.d.ts +5 -0
- package/google/public_api.d.ts +2 -0
- package/google/shared/auth-google.interface.d.ts +5 -0
- package/google/shared/index.d.ts +1 -0
- package/{lib/auth-form → internal/auth-intern}/auth-intern.component.d.ts +2 -2
- package/internal/index.d.ts +5 -0
- package/internal/public_api.d.ts +1 -0
- package/lib/auth.provider.d.ts +3 -0
- package/lib/shared/admin.guard.d.ts +1 -1
- package/lib/shared/auth-storage.interface.d.ts +1 -1
- package/lib/shared/auth-storage.service.d.ts +2 -1
- package/lib/shared/auth.guard.d.ts +1 -1
- package/lib/shared/auth.interceptor.d.ts +1 -1
- package/lib/shared/auth.interface.d.ts +21 -70
- package/lib/shared/auth.service.d.ts +3 -1
- package/lib/shared/index.d.ts +2 -4
- package/lib/shared/logged.guard.d.ts +1 -1
- package/lib/shared/profils.guard.d.ts +1 -1
- package/locale/en.auth.json +29 -29
- package/locale/fr.auth.json +33 -33
- package/{lib/auth-form → microsoft/auth-microsoft}/auth-microsoft.component.d.ts +5 -3
- package/microsoft/auth-microsoft.provider.d.ts +12 -0
- package/{lib/auth-form → microsoft/auth-microsoftb2c}/auth-microsoftb2c.component.d.ts +6 -4
- package/{lib/shared → microsoft/auth-microsoftb2c}/auth-msalBroadcastServiceb2c.service.d.ts +1 -1
- package/microsoft/index.d.ts +5 -0
- package/microsoft/public_api.d.ts +4 -0
- package/microsoft/shared/auth-microsoft.interface.d.ts +32 -0
- package/microsoft/shared/index.d.ts +1 -0
- package/{lib → monitoring}/auth-monitoring/auth-monitoring.provider.d.ts +1 -1
- package/{lib → monitoring}/auth-monitoring/auth-monitoring.service.d.ts +3 -2
- package/monitoring/index.d.ts +5 -0
- package/monitoring/public_api.d.ts +2 -0
- package/package.json +46 -3
- package/public_api.d.ts +2 -18
- package/src/auth.theme.scss +9 -9
- package/esm2022/lib/auth-form/auth-facebook.component.mjs +0 -65
- package/esm2022/lib/auth-form/auth-form.component.mjs +0 -170
- package/esm2022/lib/auth-form/auth-google.component.mjs +0 -106
- package/esm2022/lib/auth-form/auth-intern.component.mjs +0 -84
- package/esm2022/lib/auth-form/auth-microsoft.component.mjs +0 -100
- package/esm2022/lib/auth-form/auth-microsoftb2c.component.mjs +0 -98
- package/esm2022/lib/auth-form/index.mjs +0 -19
- package/esm2022/lib/auth-monitoring/auth-monitoring.provider.mjs +0 -23
- package/esm2022/lib/auth-monitoring/auth-monitoring.service.mjs +0 -53
- package/esm2022/lib/auth.module.mjs +0 -97
- package/esm2022/lib/environment/environment.interface.mjs +0 -2
- package/esm2022/lib/environment/index.mjs +0 -2
- package/esm2022/lib/shared/auth-microsoft.provider.mjs +0 -86
- package/esm2022/lib/shared/auth-msalBroadcastServiceb2c.service.mjs +0 -47
- package/esm2022/lib/shared/auth-msalServiceb2c.service..mjs +0 -85
- package/esm2022/lib/shared/protected.directive.mjs +0 -21
- package/lib/auth-form/index.d.ts +0 -11
- package/lib/auth.module.d.ts +0 -24
- package/lib/environment/environment.interface.d.ts +0 -5
- package/lib/shared/auth-microsoft.provider.d.ts +0 -30
- package/lib/shared/protected.directive.d.ts +0 -8
- /package/{lib/environment/index.d.ts → environment/public_api.d.ts} +0 -0
- /package/{lib/shared/auth-msalServiceb2c.service..d.ts → microsoft/auth-microsoftb2c/auth-msalServiceb2c.service.d.ts} +0 -0
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
2
|
import { Router } from '@angular/router';
|
|
3
|
-
import { ConfigService } from '@igo2/core';
|
|
3
|
+
import { ConfigService } from '@igo2/core/config';
|
|
4
4
|
import { AuthService } from './auth.service';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
import * as i1 from "./auth.service";
|
|
7
|
-
import * as i2 from "@igo2/core";
|
|
7
|
+
import * as i2 from "@igo2/core/config";
|
|
8
8
|
import * as i3 from "@angular/router";
|
|
9
9
|
export class LoggedGuard {
|
|
10
10
|
authService;
|
|
@@ -26,13 +26,13 @@ export class LoggedGuard {
|
|
|
26
26
|
}
|
|
27
27
|
return false;
|
|
28
28
|
}
|
|
29
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
30
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.
|
|
29
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: LoggedGuard, deps: [{ token: i1.AuthService }, { token: i2.ConfigService }, { token: i3.Router }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
30
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: LoggedGuard, providedIn: 'root' });
|
|
31
31
|
}
|
|
32
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
32
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: LoggedGuard, decorators: [{
|
|
33
33
|
type: Injectable,
|
|
34
34
|
args: [{
|
|
35
35
|
providedIn: 'root'
|
|
36
36
|
}]
|
|
37
37
|
}], ctorParameters: () => [{ type: i1.AuthService }, { type: i2.ConfigService }, { type: i3.Router }] });
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VkLmd1YXJkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYXV0aC9zcmMvbGliL3NoYXJlZC9sb2dnZWQuZ3VhcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBRUwsTUFBTSxFQUVQLE1BQU0saUJBQWlCLENBQUM7QUFFekIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBR2xELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUFLN0MsTUFBTSxPQUFPLFdBQVc7SUFFWjtJQUNBO0lBQ0E7SUFIVixZQUNVLFdBQXdCLEVBQ3hCLE1BQXFCLEVBQ3JCLE1BQWM7UUFGZCxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQ3JCLFdBQU0sR0FBTixNQUFNLENBQVE7SUFDckIsQ0FBQztJQUVKLFdBQVcsQ0FBQyxLQUE2QixFQUFFLEtBQTBCO1FBQ25FLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUM1QixPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFFRCxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDO1FBRXpDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBZ0IsQ0FBQztRQUNoRSxJQUFJLFVBQVUsRUFBRSxVQUFVLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbkQsQ0FBQztRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzt1R0FwQlUsV0FBVzsyR0FBWCxXQUFXLGNBRlYsTUFBTTs7MkZBRVAsV0FBVztrQkFIdkIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LFxuICBSb3V0ZXIsXG4gIFJvdXRlclN0YXRlU25hcHNob3Rcbn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHsgQ29uZmlnU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUvY29uZmlnJztcblxuaW1wb3J0IHsgQXV0aE9wdGlvbnMgfSBmcm9tICcuL2F1dGguaW50ZXJmYWNlJztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi9hdXRoLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBMb2dnZWRHdWFyZCB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29uZmlnOiBDb25maWdTZXJ2aWNlLFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXJcbiAgKSB7fVxuXG4gIGNhbkFjdGl2YXRlKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBzdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdCkge1xuICAgIGlmICh0aGlzLmF1dGhTZXJ2aWNlLmxvZ2dlZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgdGhpcy5hdXRoU2VydmljZS5yZWRpcmVjdFVybCA9IHN0YXRlLnVybDtcblxuICAgIGNvbnN0IGF1dGhDb25maWcgPSB0aGlzLmNvbmZpZy5nZXRDb25maWcoJ2F1dGgnKSBhcyBBdXRoT3B0aW9ucztcbiAgICBpZiAoYXV0aENvbmZpZz8ubG9naW5Sb3V0ZSkge1xuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybChhdXRoQ29uZmlnLmxvZ2luUm91dGUpO1xuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuIl19
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
2
|
import { Router } from '@angular/router';
|
|
3
|
-
import { ConfigService } from '@igo2/core';
|
|
3
|
+
import { ConfigService } from '@igo2/core/config';
|
|
4
4
|
import { map } from 'rxjs/operators';
|
|
5
5
|
import { AuthService } from './auth.service';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
import * as i1 from "./auth.service";
|
|
8
|
-
import * as i2 from "@igo2/core";
|
|
8
|
+
import * as i2 from "@igo2/core/config";
|
|
9
9
|
import * as i3 from "@angular/router";
|
|
10
10
|
export class ProfilsGuard {
|
|
11
11
|
authService;
|
|
@@ -31,13 +31,13 @@ export class ProfilsGuard {
|
|
|
31
31
|
return false;
|
|
32
32
|
}));
|
|
33
33
|
}
|
|
34
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
35
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.
|
|
34
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: ProfilsGuard, deps: [{ token: i1.AuthService }, { token: i2.ConfigService }, { token: i3.Router }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
35
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: ProfilsGuard, providedIn: 'root' });
|
|
36
36
|
}
|
|
37
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: ProfilsGuard, decorators: [{
|
|
38
38
|
type: Injectable,
|
|
39
39
|
args: [{
|
|
40
40
|
providedIn: 'root'
|
|
41
41
|
}]
|
|
42
42
|
}], ctorParameters: () => [{ type: i1.AuthService }, { type: i2.ConfigService }, { type: i3.Router }] });
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlscy5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2F1dGgvc3JjL2xpYi9zaGFyZWQvcHJvZmlscy5ndWFyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFFTCxNQUFNLEVBRVAsTUFBTSxpQkFBaUIsQ0FBQztBQUV6QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFbEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3JDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUFLN0MsTUFBTSxPQUFPLFlBQVk7SUFFYjtJQUNBO0lBQ0E7SUFIVixZQUNVLFdBQXdCLEVBQ3hCLE1BQXFCLEVBQ3JCLE1BQWM7UUFGZCxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQ3JCLFdBQU0sR0FBTixNQUFNLENBQVE7SUFDckIsQ0FBQztJQUVKLFdBQVcsQ0FBQyxNQUE4QixFQUFFLEtBQTBCO1FBQ3BFLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxJQUFJLENBQ3ZDLEdBQUcsQ0FBQyxDQUFDLE9BQThCLEVBQUUsRUFBRTtZQUNyQyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQWdCLENBQUM7WUFDaEUsSUFDRSxPQUFPO2dCQUNQLE9BQU8sQ0FBQyxPQUFPO2dCQUNmLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUN0RSxDQUFDO2dCQUNELE9BQU8sSUFBSSxDQUFDO1lBQ2QsQ0FBQztZQUVELElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUM7WUFFekMsSUFBSSxVQUFVLEVBQUUsVUFBVSxFQUFFLENBQUM7Z0JBQzNCLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUNuRCxDQUFDO1lBRUQsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzt1R0E1QlUsWUFBWTsyR0FBWixZQUFZLGNBRlgsTUFBTTs7MkZBRVAsWUFBWTtrQkFIeEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LFxuICBSb3V0ZXIsXG4gIFJvdXRlclN0YXRlU25hcHNob3Rcbn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHsgQ29uZmlnU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUvY29uZmlnJztcblxuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBBdXRoT3B0aW9ucyB9IGZyb20gJy4vYXV0aC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuL2F1dGguc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFByb2ZpbHNHdWFyZCB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29uZmlnOiBDb25maWdTZXJ2aWNlLFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXJcbiAgKSB7fVxuXG4gIGNhbkFjdGl2YXRlKF9yb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgc3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3QpIHtcbiAgICByZXR1cm4gdGhpcy5hdXRoU2VydmljZS5nZXRQcm9maWxzKCkucGlwZShcbiAgICAgIG1hcCgocHJvZmlsczogeyBwcm9maWxzOiBzdHJpbmdbXSB9KSA9PiB7XG4gICAgICAgIGNvbnN0IGF1dGhDb25maWcgPSB0aGlzLmNvbmZpZy5nZXRDb25maWcoJ2F1dGgnKSBhcyBBdXRoT3B0aW9ucztcbiAgICAgICAgaWYgKFxuICAgICAgICAgIHByb2ZpbHMgJiZcbiAgICAgICAgICBwcm9maWxzLnByb2ZpbHMgJiZcbiAgICAgICAgICBwcm9maWxzLnByb2ZpbHMuc29tZSgodikgPT4gYXV0aENvbmZpZy5wcm9maWxzR3VhcmQuaW5kZXhPZih2KSAhPT0gLTEpXG4gICAgICAgICkge1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5hdXRoU2VydmljZS5yZWRpcmVjdFVybCA9IHN0YXRlLnVybDtcblxuICAgICAgICBpZiAoYXV0aENvbmZpZz8ubG9naW5Sb3V0ZSkge1xuICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoYXV0aENvbmZpZy5sb2dpblJvdXRlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxufVxuIl19
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Injectable, Injector } from '@angular/core';
|
|
2
|
-
import { ConfigService } from '@igo2/core';
|
|
2
|
+
import { ConfigService } from '@igo2/core/config';
|
|
3
3
|
import { jwtDecode } from 'jwt-decode';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export class TokenService {
|
|
@@ -36,13 +36,13 @@ export class TokenService {
|
|
|
36
36
|
}
|
|
37
37
|
return true;
|
|
38
38
|
}
|
|
39
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
40
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.
|
|
39
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: TokenService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
40
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: TokenService, providedIn: 'root' });
|
|
41
41
|
}
|
|
42
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
42
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: TokenService, decorators: [{
|
|
43
43
|
type: Injectable,
|
|
44
44
|
args: [{
|
|
45
45
|
providedIn: 'root'
|
|
46
46
|
}]
|
|
47
47
|
}], ctorParameters: () => [{ type: i0.Injector }] });
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2F1dGgvc3JjL2xpYi9zaGFyZWQvdG9rZW4uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFbEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFlBQVksQ0FBQzs7QUFRdkMsTUFBTSxPQUFPLFlBQVk7SUFJSDtJQUhaLE9BQU8sQ0FBZTtJQUN0QixRQUFRLENBQVM7SUFFekIsWUFBb0IsUUFBa0I7UUFBbEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNwQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBZ0IsYUFBYSxDQUFDLENBQUM7UUFDL0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUM7SUFDekMsQ0FBQztJQUVELEdBQUcsQ0FBQyxLQUFhO1FBQ2YsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxNQUFNO1FBQ0osWUFBWSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELEdBQUc7UUFDRCxPQUFPLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxNQUFNO1FBQ0osTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNYLE9BQU87UUFDVCxDQUFDO1FBQ0QsT0FBTyxTQUFTLENBQUMsS0FBSyxDQUF5QixDQUFDO0lBQ2xELENBQUM7SUFFRCxTQUFTO1FBQ1AsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzFCLE1BQU0sV0FBVyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDO1FBQ2hELElBQUksR0FBRyxJQUFJLFdBQVcsR0FBRyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDakMsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO3VHQXJDVSxZQUFZOzJHQUFaLFlBQVksY0FGWCxNQUFNOzsyRkFFUCxZQUFZO2tCQUh4QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlL2NvbmZpZyc7XG5cbmltcG9ydCB7IGp3dERlY29kZSB9IGZyb20gJ2p3dC1kZWNvZGUnO1xuXG5pbXBvcnQgeyBBdXRoT3B0aW9ucyB9IGZyb20gJy4vYXV0aC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSWdvSnd0UGF5bG9hZCB9IGZyb20gJy4vdG9rZW4uaW50ZXJmYWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgVG9rZW5TZXJ2aWNlIHtcbiAgcHJpdmF0ZSBvcHRpb25zPzogQXV0aE9wdGlvbnM7XG4gIHByaXZhdGUgdG9rZW5LZXk6IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMuaW5qZWN0b3IuZ2V0PENvbmZpZ1NlcnZpY2U+KENvbmZpZ1NlcnZpY2UpO1xuICAgIHRoaXMub3B0aW9ucyA9IGNvbmZpZy5nZXRDb25maWcoJ2F1dGgnKTtcbiAgICB0aGlzLnRva2VuS2V5ID0gdGhpcy5vcHRpb25zPy50b2tlbktleTtcbiAgfVxuXG4gIHNldCh0b2tlbjogc3RyaW5nKSB7XG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy50b2tlbktleSwgdG9rZW4pO1xuICB9XG5cbiAgcmVtb3ZlKCkge1xuICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKHRoaXMudG9rZW5LZXkpO1xuICB9XG5cbiAgZ2V0KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMudG9rZW5LZXkpO1xuICB9XG5cbiAgZGVjb2RlKCk6IElnb0p3dFBheWxvYWQgfCBudWxsIHtcbiAgICBjb25zdCB0b2tlbiA9IHRoaXMuZ2V0KCk7XG4gICAgaWYgKCF0b2tlbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICByZXR1cm4gand0RGVjb2RlKHRva2VuKSBzYXRpc2ZpZXMgSWdvSnd0UGF5bG9hZDtcbiAgfVxuXG4gIGlzRXhwaXJlZCgpIHtcbiAgICBjb25zdCBqd3QgPSB0aGlzLmRlY29kZSgpO1xuICAgIGNvbnN0IGN1cnJlbnRUaW1lID0gbmV3IERhdGUoKS5nZXRUaW1lKCkgLyAxMDAwO1xuICAgIGlmIChqd3QgJiYgY3VycmVudFRpbWUgPCBqd3QuZXhwKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { ApplicationRef, ChangeDetectionStrategy, Component, EventEmitter, Inject, Output } from '@angular/core';
|
|
2
|
+
import { MatButtonModule } from '@angular/material/button';
|
|
3
|
+
import { AuthService } from '@igo2/auth';
|
|
4
|
+
import { IgoIconComponent, MICROSOFT_ICON } from '@igo2/common/icon';
|
|
5
|
+
import { ConfigService } from '@igo2/core/config';
|
|
6
|
+
import { IgoLanguageModule } from '@igo2/core/language';
|
|
7
|
+
import { MSAL_GUARD_CONFIG, MsalBroadcastService, MsalService } from '@azure/msal-angular';
|
|
8
|
+
import { InteractionRequiredAuthError, InteractionStatus, PublicClientApplication } from '@azure/msal-browser';
|
|
9
|
+
import { Subject } from 'rxjs';
|
|
10
|
+
import { filter, takeUntil } from 'rxjs/operators';
|
|
11
|
+
import * as i0 from "@angular/core";
|
|
12
|
+
import * as i1 from "@igo2/auth";
|
|
13
|
+
import * as i2 from "@igo2/core/config";
|
|
14
|
+
import * as i3 from "@azure/msal-angular";
|
|
15
|
+
import * as i4 from "@angular/material/button";
|
|
16
|
+
import * as i5 from "@ngx-translate/core";
|
|
17
|
+
export class AuthMicrosoftComponent {
|
|
18
|
+
authService;
|
|
19
|
+
config;
|
|
20
|
+
appRef;
|
|
21
|
+
msalService;
|
|
22
|
+
msalGuardConfig;
|
|
23
|
+
options;
|
|
24
|
+
_destroying$ = new Subject();
|
|
25
|
+
login = new EventEmitter();
|
|
26
|
+
broadcastService;
|
|
27
|
+
svgIcon = MICROSOFT_ICON;
|
|
28
|
+
constructor(authService, config, appRef, msalService, msalGuardConfig) {
|
|
29
|
+
this.authService = authService;
|
|
30
|
+
this.config = config;
|
|
31
|
+
this.appRef = appRef;
|
|
32
|
+
this.msalService = msalService;
|
|
33
|
+
this.msalGuardConfig = msalGuardConfig;
|
|
34
|
+
this.options = this.config.getConfig('auth.microsoft');
|
|
35
|
+
this.msalService.instance = new PublicClientApplication({
|
|
36
|
+
auth: this.options,
|
|
37
|
+
cache: {
|
|
38
|
+
cacheLocation: 'sessionStorage'
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
this.broadcastService = new MsalBroadcastService(this.msalService.instance, this.msalService);
|
|
42
|
+
if (this.options?.clientId) {
|
|
43
|
+
this.broadcastService.inProgress$
|
|
44
|
+
.pipe(filter((status) => status === InteractionStatus.None), takeUntil(this._destroying$))
|
|
45
|
+
.subscribe(() => {
|
|
46
|
+
this.checkAccount();
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
console.warn('Microsoft authentification needs "clientId" option');
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
loginMicrosoft() {
|
|
54
|
+
this.msalService
|
|
55
|
+
.loginPopup({ ...this.getConf().authRequest })
|
|
56
|
+
.subscribe((response) => {
|
|
57
|
+
this.msalService.instance.setActiveAccount(response.account);
|
|
58
|
+
this.checkAccount();
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
checkAccount() {
|
|
62
|
+
this.msalService.instance
|
|
63
|
+
.acquireTokenSilent(this.getConf().authRequest)
|
|
64
|
+
.then((response) => {
|
|
65
|
+
const tokenAccess = response.accessToken;
|
|
66
|
+
const tokenId = response.idToken;
|
|
67
|
+
this.authService
|
|
68
|
+
.loginWithToken(tokenAccess, 'microsoft', { tokenId })
|
|
69
|
+
.subscribe(() => {
|
|
70
|
+
this.appRef.tick();
|
|
71
|
+
this.login.emit(true);
|
|
72
|
+
});
|
|
73
|
+
})
|
|
74
|
+
.catch(async (error) => {
|
|
75
|
+
if (error instanceof InteractionRequiredAuthError) {
|
|
76
|
+
// fallback to interaction when silent call fails
|
|
77
|
+
return this.msalService.acquireTokenPopup(this.getConf().authRequest);
|
|
78
|
+
}
|
|
79
|
+
console.log(error);
|
|
80
|
+
})
|
|
81
|
+
.catch((error) => {
|
|
82
|
+
console.log('Silent token fails');
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
getConf() {
|
|
86
|
+
return this.msalGuardConfig.filter((conf) => conf.type === 'add')[0];
|
|
87
|
+
}
|
|
88
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: AuthMicrosoftComponent, deps: [{ token: i1.AuthService }, { token: i2.ConfigService }, { token: i0.ApplicationRef }, { token: i3.MsalService }, { token: MSAL_GUARD_CONFIG }], target: i0.ɵɵFactoryTarget.Component });
|
|
89
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.9", type: AuthMicrosoftComponent, isStandalone: true, selector: "igo-auth-microsoft", outputs: { login: "login" }, ngImport: i0, template: "<button\n class=\"microsoft-login-button\"\n mat-raised-button\n (click)=\"loginMicrosoft()\"\n>\n <igo-icon [icon]=\"svgIcon\"></igo-icon>\n {{ 'igo.auth.microsoft.login' | translate }}\n</button>\n", styles: [":host{padding:10px 10px 10px 0;display:inline-block;position:relative;top:-15px}:host>button{font-size:15px;height:40px;width:265px}mat-icon{margin-right:10px}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "component", type: IgoIconComponent, selector: "igo-icon", inputs: ["icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
90
|
+
}
|
|
91
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: AuthMicrosoftComponent, decorators: [{
|
|
92
|
+
type: Component,
|
|
93
|
+
args: [{ selector: 'igo-auth-microsoft', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [MatButtonModule, IgoLanguageModule, IgoIconComponent], template: "<button\n class=\"microsoft-login-button\"\n mat-raised-button\n (click)=\"loginMicrosoft()\"\n>\n <igo-icon [icon]=\"svgIcon\"></igo-icon>\n {{ 'igo.auth.microsoft.login' | translate }}\n</button>\n", styles: [":host{padding:10px 10px 10px 0;display:inline-block;position:relative;top:-15px}:host>button{font-size:15px;height:40px;width:265px}mat-icon{margin-right:10px}\n"] }]
|
|
94
|
+
}], ctorParameters: () => [{ type: i1.AuthService }, { type: i2.ConfigService }, { type: i0.ApplicationRef }, { type: i3.MsalService }, { type: undefined, decorators: [{
|
|
95
|
+
type: Inject,
|
|
96
|
+
args: [MSAL_GUARD_CONFIG]
|
|
97
|
+
}] }], propDecorators: { login: [{
|
|
98
|
+
type: Output
|
|
99
|
+
}] } });
|
|
100
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1taWNyb3NvZnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYXV0aC9taWNyb3NvZnQvc3JjL2F1dGgtbWljcm9zb2Z0L2F1dGgtbWljcm9zb2Z0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2F1dGgvbWljcm9zb2Z0L3NyYy9hdXRoLW1pY3Jvc29mdC9hdXRoLW1pY3Jvc29mdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsY0FBYyxFQUNkLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFDTixNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTNELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDekMsT0FBTyxFQUFXLGdCQUFnQixFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzlFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV4RCxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLG9CQUFvQixFQUNwQixXQUFXLEVBQ1osTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBRUwsNEJBQTRCLEVBQzVCLGlCQUFpQixFQUVqQix1QkFBdUIsRUFFeEIsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7QUFlbkQsTUFBTSxPQUFPLHNCQUFzQjtJQVN2QjtJQUNBO0lBQ0E7SUFDQTtJQUVBO0lBYkYsT0FBTyxD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QztnQkFDbEQsaURBQWlEO2dCQUNqRCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQ3ZDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxXQUE0QixDQUM1QyxDQUFDO1lBQ0osQ0FBQztZQUNELE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckIsQ0FBQyxDQUFDO2FBQ0QsS0FBSyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDZixPQUFPLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDcEMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sT0FBTztRQUNiLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdkUsQ0FBQzt1R0FwRlUsc0JBQXNCLG1JQWF2QixpQkFBaUI7MkZBYmhCLHNCQUFzQiwyR0M1Q25DLDhNQVFBLDBORGtDWSxlQUFlLDJOQUFFLGlCQUFpQiw0RkFBRSxnQkFBZ0I7OzJGQUVuRCxzQkFBc0I7a0JBUmxDLFNBQVM7K0JBQ0Usb0JBQW9CLG1CQUdiLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQLENBQUMsZUFBZSxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixDQUFDOzswQkFlNUQsTUFBTTsyQkFBQyxpQkFBaUI7eUNBVmpCLEtBQUs7c0JBQWQsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFwcGxpY2F0aW9uUmVmLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIEluamVjdCxcbiAgT3V0cHV0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcblxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICdAaWdvMi9hdXRoJztcbmltcG9ydCB7IEljb25TdmcsIElnb0ljb25Db21wb25lbnQsIE1JQ1JPU09GVF9JQ09OIH0gZnJvbSAnQGlnbzIvY29tbW9uL2ljb24nO1xuaW1wb3J0IHsgQ29uZmlnU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUvY29uZmlnJztcbmltcG9ydCB7IElnb0xhbmd1YWdlTW9kdWxlIH0gZnJvbSAnQGlnbzIvY29yZS9sYW5ndWFnZSc7XG5cbmltcG9ydCB7XG4gIE1TQUxfR1VBUkRfQ09ORklHLFxuICBNc2FsQnJvYWRjYXN0U2VydmljZSxcbiAgTXNhbFNlcnZpY2Vcbn0gZnJvbSAnQGF6dXJlL21zYWwtYW5ndWxhcic7XG5pbXBvcnQge1xuICBBdXRoZW50aWNhdGlvblJlc3VsdCxcbiAgSW50ZXJhY3Rpb25SZXF1aXJlZEF1dGhFcnJvcixcbiAgSW50ZXJhY3Rpb25TdGF0dXMsXG4gIFBvcHVwUmVxdWVzdCxcbiAgUHVibGljQ2xpZW50QXBwbGljYXRpb24sXG4gIFNpbGVudFJlcXVlc3Rcbn0gZnJvbSAnQGF6dXJlL21zYWwtYnJvd3Nlcic7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtcbiAgQXV0aE1pY3Jvc29mdE9wdGlvbnMsXG4gIE1TUE1zYWxHdWFyZENvbmZpZ3VyYXRpb25cbn0gZnJvbSAnLi4vc2hhcmVkL2F1dGgtbWljcm9zb2Z0LmludGVyZmFjZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2lnby1hdXRoLW1pY3Jvc29mdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9hdXRoLW1pY3Jvc29mdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2F1dGgtbWljcm9zb2Z0LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTWF0QnV0dG9uTW9kdWxlLCBJZ29MYW5ndWFnZU1vZHVsZSwgSWdvSWNvbkNvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgQXV0aE1pY3Jvc29mdENvbXBvbmVudCB7XG4gIHByaXZhdGUgb3B0aW9ucz86IEF1dGhNaWNyb3NvZnRPcHRpb25zO1xuICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95aW5nJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIEBPdXRwdXQoKSBsb2dpbjogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBwcml2YXRlIGJyb2FkY2FzdFNlcnZpY2U6IE1zYWxCcm9hZGNhc3RTZXJ2aWNlO1xuXG4gIHN2Z0ljb246IEljb25TdmcgPSBNSUNST1NPRlRfSUNPTjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSxcbiAgICBwcml2YXRlIGNvbmZpZzogQ29uZmlnU2VydmljZSxcbiAgICBwcml2YXRlIGFwcFJlZjogQXBwbGljYXRpb25SZWYsXG4gICAgcHJpdmF0ZSBtc2FsU2VydmljZTogTXNhbFNlcnZpY2UsXG4gICAgQEluamVjdChNU0FMX0dVQVJEX0NPTkZJRylcbiAgICBwcml2YXRlIG1zYWxHdWFyZENvbmZpZzogTVNQTXNhbEd1YXJkQ29uZmlndXJhdGlvbltdXG4gICkge1xuICAgIHRoaXMub3B0aW9ucyA9IHRoaXMuY29uZmlnLmdldENvbmZpZygnYXV0aC5taWNyb3NvZnQnKTtcblxuICAgIHRoaXMubXNhbFNlcnZpY2UuaW5zdGFuY2UgPSBuZXcgUHVibGljQ2xpZW50QXBwbGljYXRpb24oe1xuICAgICAgYXV0aDogdGhpcy5vcHRpb25zLFxuICAgICAgY2FjaGU6IHtcbiAgICAgICAgY2FjaGVMb2NhdGlvbjogJ3Nlc3Npb25TdG9yYWdlJ1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy5icm9hZGNhc3RTZXJ2aWNlID0gbmV3IE1zYWxCcm9hZGNhc3RTZXJ2aWNlKFxuICAgICAgdGhpcy5tc2FsU2VydmljZS5pbnN0YW5jZSxcbiAgICAgIHRoaXMubXNhbFNlcnZpY2VcbiAgICApO1xuXG4gICAgaWYgKHRoaXMub3B0aW9ucz8uY2xpZW50SWQpIHtcbiAgICAgIHRoaXMuYnJvYWRjYXN0U2VydmljZS5pblByb2dyZXNzJFxuICAgICAgICAucGlwZShcbiAgICAgICAgICBmaWx0ZXIoXG4gICAgICAgICAgICAoc3RhdHVzOiBJbnRlcmFjdGlvblN0YXR1cykgPT4gc3RhdHVzID09PSBJbnRlcmFjdGlvblN0YXR1cy5Ob25lXG4gICAgICAgICAgKSxcbiAgICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveWluZyQpXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5jaGVja0FjY291bnQoKTtcbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnNvbGUud2FybignTWljcm9zb2Z0IGF1dGhlbnRpZmljYXRpb24gbmVlZHMgXCJjbGllbnRJZFwiIG9wdGlvbicpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBsb2dpbk1pY3Jvc29mdCgpIHtcbiAgICB0aGlzLm1zYWxTZXJ2aWNlXG4gICAgICAubG9naW5Qb3B1cCh7IC4uLnRoaXMuZ2V0Q29uZigpLmF1dGhSZXF1ZXN0IH0gYXMgUG9wdXBSZXF1ZXN0KVxuICAgICAgLnN1YnNjcmliZSgocmVzcG9uc2U6IEF1dGhlbnRpY2F0aW9uUmVzdWx0KSA9PiB7XG4gICAgICAgIHRoaXMubXNhbFNlcnZpY2UuaW5zdGFuY2Uuc2V0QWN0aXZlQWNjb3VudChyZXNwb25zZS5hY2NvdW50KTtcbiAgICAgICAgdGhpcy5jaGVja0FjY291bnQoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBjaGVja0FjY291bnQoKSB7XG4gICAgdGhpcy5tc2FsU2VydmljZS5pbnN0YW5jZVxuICAgICAgLmFjcXVpcmVUb2tlblNpbGVudCh0aGlzLmdldENvbmYoKS5hdXRoUmVxdWVzdCBhcyBTaWxlbnRSZXF1ZXN0KVxuICAgICAgLnRoZW4oKHJlc3BvbnNlOiBBdXRoZW50aWNhdGlvblJlc3VsdCkgPT4ge1xuICAgICAgICBjb25zdCB0b2tlbkFjY2VzcyA9IHJlc3BvbnNlLmFjY2Vzc1Rva2VuO1xuICAgICAgICBjb25zdCB0b2tlbklkID0gcmVzcG9uc2UuaWRUb2tlbjtcbiAgICAgICAgdGhpcy5hdXRoU2VydmljZVxuICAgICAgICAgIC5sb2dpbldpdGhUb2tlbih0b2tlbkFjY2VzcywgJ21pY3Jvc29mdCcsIHsgdG9rZW5JZCB9KVxuICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5hcHBSZWYudGljaygpO1xuICAgICAgICAgICAgdGhpcy5sb2dpbi5lbWl0KHRydWUpO1xuICAgICAgICAgIH0pO1xuICAgICAgfSlcbiAgICAgIC5jYXRjaChhc3luYyAoZXJyb3IpID0+IHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgSW50ZXJhY3Rpb25SZXF1aXJlZEF1dGhFcnJvcikge1xuICAgICAgICAgIC8vIGZhbGxiYWNrIHRvIGludGVyYWN0aW9uIHdoZW4gc2lsZW50IGNhbGwgZmFpbHNcbiAgICAgICAgICByZXR1cm4gdGhpcy5tc2FsU2VydmljZS5hY3F1aXJlVG9rZW5Qb3B1cChcbiAgICAgICAgICAgIHRoaXMuZ2V0Q29uZigpLmF1dGhSZXF1ZXN0IGFzIFNpbGVudFJlcXVlc3RcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIGNvbnNvbGUubG9nKGVycm9yKTtcbiAgICAgIH0pXG4gICAgICAuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdTaWxlbnQgdG9rZW4gZmFpbHMnKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDb25mKCk6IE1TUE1zYWxHdWFyZENvbmZpZ3VyYXRpb24ge1xuICAgIHJldHVybiB0aGlzLm1zYWxHdWFyZENvbmZpZy5maWx0ZXIoKGNvbmYpID0+IGNvbmYudHlwZSA9PT0gJ2FkZCcpWzBdO1xuICB9XG59XG4iLCI8YnV0dG9uXG4gIGNsYXNzPVwibWljcm9zb2Z0LWxvZ2luLWJ1dHRvblwiXG4gIG1hdC1yYWlzZWQtYnV0dG9uXG4gIChjbGljayk9XCJsb2dpbk1pY3Jvc29mdCgpXCJcbj5cbiAgPGlnby1pY29uIFtpY29uXT1cInN2Z0ljb25cIj48L2lnby1pY29uPlxuICB7eyAnaWdvLmF1dGgubWljcm9zb2Z0LmxvZ2luJyB8IHRyYW5zbGF0ZSB9fVxuPC9idXR0b24+XG4iXX0=
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { AuthFeatureKind } from '@igo2/auth';
|
|
2
|
+
import { ConfigService } from '@igo2/core/config';
|
|
3
|
+
import { MSAL_GUARD_CONFIG, MSAL_INSTANCE, MsalService } from '@azure/msal-angular';
|
|
4
|
+
import { InteractionType, PublicClientApplication } from '@azure/msal-browser';
|
|
5
|
+
import { AuthMicrosoftComponent } from './auth-microsoft/auth-microsoft.component';
|
|
6
|
+
import { AuthMicrosoftb2cComponent } from './auth-microsoftb2c/auth-microsoftb2c.component';
|
|
7
|
+
import { MsalServiceb2c } from './auth-microsoftb2c/auth-msalServiceb2c.service';
|
|
8
|
+
export const AUTH_MICROSOFT_DIRECTIVES = [
|
|
9
|
+
AuthMicrosoftComponent,
|
|
10
|
+
AuthMicrosoftb2cComponent
|
|
11
|
+
];
|
|
12
|
+
export function MSALConfigFactory(config) {
|
|
13
|
+
const msConf = config.getConfig('auth.microsoft');
|
|
14
|
+
if (!msConf) {
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
msConf.redirectUri = msConf?.redirectUri || window.location.href;
|
|
18
|
+
msConf.authority =
|
|
19
|
+
msConf?.authority || 'https://login.microsoftonline.com/organizations';
|
|
20
|
+
const myMsalObj = new PublicClientApplication({
|
|
21
|
+
auth: msConf,
|
|
22
|
+
cache: {
|
|
23
|
+
cacheLocation: 'sessionStorage'
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
return myMsalObj;
|
|
27
|
+
}
|
|
28
|
+
export function MSALConfigFactoryb2c(config) {
|
|
29
|
+
const msConf = config.getConfig('auth.microsoftb2c.browserAuthOptions');
|
|
30
|
+
if (!msConf) {
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
msConf.redirectUri = msConf?.redirectUri || window.location.href;
|
|
34
|
+
msConf.authority =
|
|
35
|
+
msConf?.authority || 'https://login.microsoftonline.com/organizations';
|
|
36
|
+
const myMsalObj = new PublicClientApplication({
|
|
37
|
+
auth: msConf,
|
|
38
|
+
cache: {
|
|
39
|
+
cacheLocation: 'sessionStorage'
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
return myMsalObj;
|
|
43
|
+
}
|
|
44
|
+
export function MSALAngularConfigFactory(config) {
|
|
45
|
+
const msConf = config.getConfig('auth.microsoft');
|
|
46
|
+
return {
|
|
47
|
+
interactionType: InteractionType.Popup,
|
|
48
|
+
authRequest: {
|
|
49
|
+
scopes: ['user.read'],
|
|
50
|
+
loginHint: 'todo'
|
|
51
|
+
},
|
|
52
|
+
type: 'add'
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
export function MSALAngularConfigFactoryb2c(config) {
|
|
56
|
+
const msConf = config.getConfig('auth.microsoftb2c.browserAuthOptions');
|
|
57
|
+
return {
|
|
58
|
+
interactionType: InteractionType.Popup,
|
|
59
|
+
authRequest: {
|
|
60
|
+
scopes: [msConf?.clientId]
|
|
61
|
+
},
|
|
62
|
+
type: 'b2c'
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
export function withMicrosoftSupport(type) {
|
|
66
|
+
if (type === 'b2c') {
|
|
67
|
+
return {
|
|
68
|
+
kind: AuthFeatureKind.Microsoft,
|
|
69
|
+
providers: [
|
|
70
|
+
{
|
|
71
|
+
provide: MSAL_INSTANCE,
|
|
72
|
+
useFactory: MSALConfigFactoryb2c,
|
|
73
|
+
deps: [ConfigService]
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
provide: MSAL_GUARD_CONFIG,
|
|
77
|
+
useFactory: MSALAngularConfigFactoryb2c,
|
|
78
|
+
deps: [ConfigService],
|
|
79
|
+
multi: true
|
|
80
|
+
},
|
|
81
|
+
MsalServiceb2c
|
|
82
|
+
]
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
return {
|
|
87
|
+
kind: AuthFeatureKind.Microsoft,
|
|
88
|
+
providers: [
|
|
89
|
+
{
|
|
90
|
+
provide: MSAL_INSTANCE,
|
|
91
|
+
useFactory: MSALConfigFactory,
|
|
92
|
+
deps: [ConfigService]
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
provide: MSAL_GUARD_CONFIG,
|
|
96
|
+
useFactory: MSALAngularConfigFactory,
|
|
97
|
+
deps: [ConfigService],
|
|
98
|
+
multi: true
|
|
99
|
+
},
|
|
100
|
+
MsalService
|
|
101
|
+
]
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1taWNyb3NvZnQucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9hdXRoL21pY3Jvc29mdC9zcmMvYXV0aC1taWNyb3NvZnQucHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFlLGVBQWUsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUMxRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFbEQsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixhQUFhLEVBQ2IsV0FBVyxFQUNaLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUFFLGVBQWUsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRy9FLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzVGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQU1qRixNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRztJQUN2QyxzQkFBc0I7SUFDdEIseUJBQXlCO0NBQ2pCLENBQUM7QUFFWCxNQUFNLFVBQVUsaUJBQWlCLENBQy9CLE1BQXFCO0lBRXJCLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQXlCLENBQUM7SUFDMUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1osT0FBTztJQUNULENBQUM7SUFFRCxNQUFNLENBQUMsV0FBVyxHQUFHLE1BQU0sRUFBRSxXQUFXLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7SUFDakUsTUFBTSxDQUFDLFNBQVM7UUFDZCxNQUFNLEVBQUUsU0FBUyxJQUFJLGlEQUFpRCxDQUFDO0lBRXpFLE1BQU0sU0FBUyxHQUFHLElBQUksdUJBQXVCLENBQUM7UUFDNUMsSUFBSSxFQUFFLE1BQU07UUFDWixLQUFLLEVBQUU7WUFDTCxhQUFhLEVBQUUsZ0JBQWdCO1NBQ2hDO0tBQ0YsQ0FBQyxDQUFDO0lBRUgsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQztBQUVELE1BQU0sVUFBVSxvQkFBb0IsQ0FDbEMsTUFBcUI7SUFFckIsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FDN0Isc0NBQXNDLENBQ2pCLENBQUM7SUFDeEIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1osT0FBTztJQUNULENBQUM7SUFDRCxNQUFNLENBQUMsV0FBVyxHQUFHLE1BQU0sRUFBRSxXQUFXLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7SUFDakUsTUFBTSxDQUFDLFNBQVM7UUFDZCxNQUFNLEVBQUUsU0FBUyxJQUFJLGlEQUFpRCxDQUFDO0lBRXpFLE1BQU0sU0FBUyxHQUFHLElBQUksdUJBQXVCLENBQUM7UUFDNUMsSUFBSSxFQUFFLE1BQU07UUFDWixLQUFLLEVBQUU7WUFDTCxhQUFhLEVBQUUsZ0JBQWdCO1NBQ2hDO0tBQ0YsQ0FBQyxDQUFDO0lBRUgsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQztBQUVELE1BQU0sVUFBVSx3QkFBd0IsQ0FDdEMsTUFBcUI7SUFFckIsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBeUIsQ0FBQztJQUUxRSxPQUFPO1FBQ0wsZUFBZSxFQUFFLGVBQWUsQ0FBQyxLQUFLO1FBQ3RDLFdBQVcsRUFBRTtZQUNYLE1BQU0sRUFBRSxDQUFDLFdBQVcsQ0FBQztZQUNyQixTQUFTLEVBQUUsTUFBTTtTQUNsQjtRQUNELElBQUksRUFBRSxLQUFLO0tBQ1osQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsMkJBQTJCLENBQ3pDLE1BQXFCO0lBRXJCLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQzdCLHNDQUFzQyxDQUNqQixDQUFDO0lBRXhCLE9BQU87UUFDTCxlQUFlLEVBQUUsZUFBZSxDQUFDLEtBQUs7UUFDdEMsV0FBVyxFQUFFO1lBQ1gsTUFBTSxFQUFFLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQztTQUMzQjtRQUNELElBQUksRUFBRSxLQUFLO0tBQ1osQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsb0JBQW9CLENBQ2xDLElBQWE7SUFFYixJQUFJLElBQUksS0FBSyxLQUFLLEVBQUUsQ0FBQztRQUNuQixPQUFPO1lBQ0wsSUFBSSxFQUFFLGVBQWUsQ0FBQyxTQUFTO1lBQy9CLFNBQVMsRUFBRTtnQkFDVDtvQkFDRSxPQUFPLEVBQUUsYUFBYTtvQkFDdEIsVUFBVSxFQUFFLG9CQUFvQjtvQkFDaEMsSUFBSSxFQUFFLENBQUMsYUFBYSxDQUFDO2lCQUN0QjtnQkFDRDtvQkFDRSxPQUFPLEVBQUUsaUJBQWlCO29CQUMxQixVQUFVLEVBQUUsMkJBQTJCO29CQUN2QyxJQUFJLEVBQUUsQ0FBQyxhQUFhLENBQUM7b0JBQ3JCLEtBQUssRUFBRSxJQUFJO2lCQUNaO2dCQUNELGNBQWM7YUFDZjtTQUNGLENBQUM7SUFDSixDQUFDO1NBQU0sQ0FBQztRQUNOLE9BQU87WUFDTCxJQUFJLEVBQUUsZUFBZSxDQUFDLFNBQVM7WUFDL0IsU0FBUyxFQUFFO2dCQUNUO29CQUNFLE9BQU8sRUFBRSxhQUFhO29CQUN0QixVQUFVLEVBQUUsaUJBQWlCO29CQUM3QixJQUFJLEVBQUUsQ0FBQyxhQUFhLENBQUM7aUJBQ3RCO2dCQUNEO29CQUNFLE9BQU8sRUFBRSxpQkFBaUI7b0JBQzFCLFVBQVUsRUFBRSx3QkFBd0I7b0JBQ3BDLElBQUksRUFBRSxDQUFDLGFBQWEsQ0FBQztvQkFDckIsS0FBSyxFQUFFLElBQUk7aUJBQ1o7Z0JBQ0QsV0FBVzthQUNaO1NBQ0YsQ0FBQztJQUNKLENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXV0aEZlYXR1cmUsIEF1dGhGZWF0dXJlS2luZCB9IGZyb20gJ0BpZ28yL2F1dGgnO1xuaW1wb3J0IHsgQ29uZmlnU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUvY29uZmlnJztcblxuaW1wb3J0IHtcbiAgTVNBTF9HVUFSRF9DT05GSUcsXG4gIE1TQUxfSU5TVEFOQ0UsXG4gIE1zYWxTZXJ2aWNlXG59IGZyb20gJ0BhenVyZS9tc2FsLWFuZ3VsYXInO1xuaW1wb3J0IHsgSW50ZXJhY3Rpb25UeXBlLCBQdWJsaWNDbGllbnRBcHBsaWNhdGlvbiB9IGZyb20gJ0BhenVyZS9tc2FsLWJyb3dzZXInO1xuaW1wb3J0IHsgQnJvd3NlckF1dGhPcHRpb25zIH0gZnJvbSAnQGF6dXJlL21zYWwtYnJvd3Nlcic7XG5cbmltcG9ydCB7IEF1dGhNaWNyb3NvZnRDb21wb25lbnQgfSBmcm9tICcuL2F1dGgtbWljcm9zb2Z0L2F1dGgtbWljcm9zb2Z0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBdXRoTWljcm9zb2Z0YjJjQ29tcG9uZW50IH0gZnJvbSAnLi9hdXRoLW1pY3Jvc29mdGIyYy9hdXRoLW1pY3Jvc29mdGIyYy5jb21wb25lbnQnO1xuaW1wb3J0IHsgTXNhbFNlcnZpY2ViMmMgfSBmcm9tICcuL2F1dGgtbWljcm9zb2Z0YjJjL2F1dGgtbXNhbFNlcnZpY2ViMmMuc2VydmljZSc7XG5pbXBvcnQge1xuICBBdXRoTWljcm9zb2Z0T3B0aW9ucyxcbiAgTVNQTXNhbEd1YXJkQ29uZmlndXJhdGlvblxufSBmcm9tICcuL3NoYXJlZC9hdXRoLW1pY3Jvc29mdC5pbnRlcmZhY2UnO1xuXG5leHBvcnQgY29uc3QgQVVUSF9NSUNST1NPRlRfRElSRUNUSVZFUyA9IFtcbiAgQXV0aE1pY3Jvc29mdENvbXBvbmVudCxcbiAgQXV0aE1pY3Jvc29mdGIyY0NvbXBvbmVudFxuXSBhcyBjb25zdDtcblxuZXhwb3J0IGZ1bmN0aW9uIE1TQUxDb25maWdGYWN0b3J5KFxuICBjb25maWc6IENvbmZpZ1NlcnZpY2Vcbik6IFB1YmxpY0NsaWVudEFwcGxpY2F0aW9uIHtcbiAgY29uc3QgbXNDb25mID0gY29uZmlnLmdldENvbmZpZygnYXV0aC5taWNyb3NvZnQnKSBhcyBBdXRoTWljcm9zb2Z0T3B0aW9ucztcbiAgaWYgKCFtc0NvbmYpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBtc0NvbmYucmVkaXJlY3RVcmkgPSBtc0NvbmY/LnJlZGlyZWN0VXJpIHx8IHdpbmRvdy5sb2NhdGlvbi5ocmVmO1xuICBtc0NvbmYuYXV0aG9yaXR5ID1cbiAgICBtc0NvbmY/LmF1dGhvcml0eSB8fCAnaHR0cHM6Ly9sb2dpbi5taWNyb3NvZnRvbmxpbmUuY29tL29yZ2FuaXphdGlvbnMnO1xuXG4gIGNvbnN0IG15TXNhbE9iaiA9IG5ldyBQdWJsaWNDbGllbnRBcHBsaWNhdGlvbih7XG4gICAgYXV0aDogbXNDb25mLFxuICAgIGNhY2hlOiB7XG4gICAgICBjYWNoZUxvY2F0aW9uOiAnc2Vzc2lvblN0b3JhZ2UnXG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gbXlNc2FsT2JqO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gTVNBTENvbmZpZ0ZhY3RvcnliMmMoXG4gIGNvbmZpZzogQ29uZmlnU2VydmljZVxuKTogUHVibGljQ2xpZW50QXBwbGljYXRpb24ge1xuICBjb25zdCBtc0NvbmYgPSBjb25maWcuZ2V0Q29uZmlnKFxuICAgICdhdXRoLm1pY3Jvc29mdGIyYy5icm93c2VyQXV0aE9wdGlvbnMnXG4gICkgYXMgQnJvd3NlckF1dGhPcHRpb25zO1xuICBpZiAoIW1zQ29uZikge1xuICAgIHJldHVybjtcbiAgfVxuICBtc0NvbmYucmVkaXJlY3RVcmkgPSBtc0NvbmY/LnJlZGlyZWN0VXJpIHx8IHdpbmRvdy5sb2NhdGlvbi5ocmVmO1xuICBtc0NvbmYuYXV0aG9yaXR5ID1cbiAgICBtc0NvbmY/LmF1dGhvcml0eSB8fCAnaHR0cHM6Ly9sb2dpbi5taWNyb3NvZnRvbmxpbmUuY29tL29yZ2FuaXphdGlvbnMnO1xuXG4gIGNvbnN0IG15TXNhbE9iaiA9IG5ldyBQdWJsaWNDbGllbnRBcHBsaWNhdGlvbih7XG4gICAgYXV0aDogbXNDb25mLFxuICAgIGNhY2hlOiB7XG4gICAgICBjYWNoZUxvY2F0aW9uOiAnc2Vzc2lvblN0b3JhZ2UnXG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gbXlNc2FsT2JqO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gTVNBTEFuZ3VsYXJDb25maWdGYWN0b3J5KFxuICBjb25maWc6IENvbmZpZ1NlcnZpY2Vcbik6IE1TUE1zYWxHdWFyZENvbmZpZ3VyYXRpb24ge1xuICBjb25zdCBtc0NvbmYgPSBjb25maWcuZ2V0Q29uZmlnKCdhdXRoLm1pY3Jvc29mdCcpIGFzIEF1dGhNaWNyb3NvZnRPcHRpb25zO1xuXG4gIHJldHVybiB7XG4gICAgaW50ZXJhY3Rpb25UeXBlOiBJbnRlcmFjdGlvblR5cGUuUG9wdXAsXG4gICAgYXV0aFJlcXVlc3Q6IHtcbiAgICAgIHNjb3BlczogWyd1c2VyLnJlYWQnXSxcbiAgICAgIGxvZ2luSGludDogJ3RvZG8nXG4gICAgfSxcbiAgICB0eXBlOiAnYWRkJ1xuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gTVNBTEFuZ3VsYXJDb25maWdGYWN0b3J5YjJjKFxuICBjb25maWc6IENvbmZpZ1NlcnZpY2Vcbik6IE1TUE1zYWxHdWFyZENvbmZpZ3VyYXRpb24ge1xuICBjb25zdCBtc0NvbmYgPSBjb25maWcuZ2V0Q29uZmlnKFxuICAgICdhdXRoLm1pY3Jvc29mdGIyYy5icm93c2VyQXV0aE9wdGlvbnMnXG4gICkgYXMgQnJvd3NlckF1dGhPcHRpb25zO1xuXG4gIHJldHVybiB7XG4gICAgaW50ZXJhY3Rpb25UeXBlOiBJbnRlcmFjdGlvblR5cGUuUG9wdXAsXG4gICAgYXV0aFJlcXVlc3Q6IHtcbiAgICAgIHNjb3BlczogW21zQ29uZj8uY2xpZW50SWRdXG4gICAgfSxcbiAgICB0eXBlOiAnYjJjJ1xuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gd2l0aE1pY3Jvc29mdFN1cHBvcnQoXG4gIHR5cGU/OiBzdHJpbmdcbik6IEF1dGhGZWF0dXJlPEF1dGhGZWF0dXJlS2luZC5NaWNyb3NvZnQ+IHtcbiAgaWYgKHR5cGUgPT09ICdiMmMnKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGtpbmQ6IEF1dGhGZWF0dXJlS2luZC5NaWNyb3NvZnQsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IE1TQUxfSU5TVEFOQ0UsXG4gICAgICAgICAgdXNlRmFjdG9yeTogTVNBTENvbmZpZ0ZhY3RvcnliMmMsXG4gICAgICAgICAgZGVwczogW0NvbmZpZ1NlcnZpY2VdXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBNU0FMX0dVQVJEX0NPTkZJRyxcbiAgICAgICAgICB1c2VGYWN0b3J5OiBNU0FMQW5ndWxhckNvbmZpZ0ZhY3RvcnliMmMsXG4gICAgICAgICAgZGVwczogW0NvbmZpZ1NlcnZpY2VdLFxuICAgICAgICAgIG11bHRpOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIE1zYWxTZXJ2aWNlYjJjXG4gICAgICBdXG4gICAgfTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4ge1xuICAgICAga2luZDogQXV0aEZlYXR1cmVLaW5kLk1pY3Jvc29mdCxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogTVNBTF9JTlNUQU5DRSxcbiAgICAgICAgICB1c2VGYWN0b3J5OiBNU0FMQ29uZmlnRmFjdG9yeSxcbiAgICAgICAgICBkZXBzOiBbQ29uZmlnU2VydmljZV1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IE1TQUxfR1VBUkRfQ09ORklHLFxuICAgICAgICAgIHVzZUZhY3Rvcnk6IE1TQUxBbmd1bGFyQ29uZmlnRmFjdG9yeSxcbiAgICAgICAgICBkZXBzOiBbQ29uZmlnU2VydmljZV0sXG4gICAgICAgICAgbXVsdGk6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgTXNhbFNlcnZpY2VcbiAgICAgIF1cbiAgICB9O1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { ApplicationRef, ChangeDetectionStrategy, Component, EventEmitter, Inject, Output } from '@angular/core';
|
|
2
|
+
import { MatButtonModule } from '@angular/material/button';
|
|
3
|
+
import { AuthService } from '@igo2/auth';
|
|
4
|
+
import { IgoIconComponent, MICROSOFT_ICON } from '@igo2/common/icon';
|
|
5
|
+
import { ConfigService } from '@igo2/core/config';
|
|
6
|
+
import { IgoLanguageModule } from '@igo2/core/language';
|
|
7
|
+
import { MSAL_GUARD_CONFIG } from '@azure/msal-angular';
|
|
8
|
+
import { InteractionRequiredAuthError, InteractionStatus, PublicClientApplication } from '@azure/msal-browser';
|
|
9
|
+
import { Subject } from 'rxjs';
|
|
10
|
+
import { filter, takeUntil } from 'rxjs/operators';
|
|
11
|
+
import { MsalBroadcastServiceb2c } from './auth-msalBroadcastServiceb2c.service';
|
|
12
|
+
import { MsalServiceb2c } from './auth-msalServiceb2c.service';
|
|
13
|
+
import * as i0 from "@angular/core";
|
|
14
|
+
import * as i1 from "@igo2/auth";
|
|
15
|
+
import * as i2 from "@igo2/core/config";
|
|
16
|
+
import * as i3 from "./auth-msalServiceb2c.service";
|
|
17
|
+
import * as i4 from "@angular/material/button";
|
|
18
|
+
import * as i5 from "@ngx-translate/core";
|
|
19
|
+
export class AuthMicrosoftb2cComponent {
|
|
20
|
+
authService;
|
|
21
|
+
config;
|
|
22
|
+
appRef;
|
|
23
|
+
msalService;
|
|
24
|
+
msalGuardConfig;
|
|
25
|
+
options;
|
|
26
|
+
_destroying$ = new Subject();
|
|
27
|
+
login = new EventEmitter();
|
|
28
|
+
broadcastService;
|
|
29
|
+
svgIcon = MICROSOFT_ICON;
|
|
30
|
+
constructor(authService, config, appRef, msalService, msalGuardConfig) {
|
|
31
|
+
this.authService = authService;
|
|
32
|
+
this.config = config;
|
|
33
|
+
this.appRef = appRef;
|
|
34
|
+
this.msalService = msalService;
|
|
35
|
+
this.msalGuardConfig = msalGuardConfig;
|
|
36
|
+
this.options = this.config.getConfig('auth.microsoftb2c') || {};
|
|
37
|
+
this.msalService.instance = new PublicClientApplication({
|
|
38
|
+
auth: this.options.browserAuthOptions,
|
|
39
|
+
cache: {
|
|
40
|
+
cacheLocation: 'sessionStorage'
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
this.broadcastService = new MsalBroadcastServiceb2c(this.msalService.instance, this.msalService);
|
|
44
|
+
if (this.options.browserAuthOptions.clientId) {
|
|
45
|
+
this.broadcastService.inProgress$
|
|
46
|
+
.pipe(filter((status) => status === InteractionStatus.None), takeUntil(this._destroying$))
|
|
47
|
+
.subscribe(() => {
|
|
48
|
+
this.checkAccount();
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
console.warn('Microsoft authentification needs "clientId" option');
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
loginMicrosoftb2c() {
|
|
56
|
+
this.msalService
|
|
57
|
+
.loginPopup({ ...this.getConf().authRequest })
|
|
58
|
+
.subscribe((response) => {
|
|
59
|
+
this.msalService.instance.setActiveAccount(response.account);
|
|
60
|
+
this.checkAccount();
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
checkAccount() {
|
|
64
|
+
this.msalService.instance
|
|
65
|
+
.acquireTokenSilent(this.getConf().authRequest)
|
|
66
|
+
.then((response) => {
|
|
67
|
+
const token = response.idToken;
|
|
68
|
+
this.authService.loginWithToken(token, 'microsoftb2c').subscribe(() => {
|
|
69
|
+
this.appRef.tick();
|
|
70
|
+
this.login.emit(true);
|
|
71
|
+
});
|
|
72
|
+
})
|
|
73
|
+
.catch(async (error) => {
|
|
74
|
+
if (error instanceof InteractionRequiredAuthError) {
|
|
75
|
+
// fallback to interaction when silent call fails
|
|
76
|
+
return this.msalService.acquireTokenPopup(this.getConf().authRequest);
|
|
77
|
+
}
|
|
78
|
+
})
|
|
79
|
+
.catch((error) => {
|
|
80
|
+
console.log('Silent token fails');
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
getConf() {
|
|
84
|
+
return this.msalGuardConfig.filter((conf) => conf.type === 'b2c')[0];
|
|
85
|
+
}
|
|
86
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: AuthMicrosoftb2cComponent, deps: [{ token: i1.AuthService }, { token: i2.ConfigService }, { token: i0.ApplicationRef }, { token: i3.MsalServiceb2c }, { token: MSAL_GUARD_CONFIG }], target: i0.ɵɵFactoryTarget.Component });
|
|
87
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.9", type: AuthMicrosoftb2cComponent, isStandalone: true, selector: "igo-auth-microsoftb2c", outputs: { login: "login" }, providers: [MsalServiceb2c], ngImport: i0, template: "<button\n class=\"microsoft-login-button\"\n mat-raised-button\n (click)=\"loginMicrosoftb2c()\"\n>\n <igo-icon [icon]=\"svgIcon\"></igo-icon>\n {{ 'igo.auth.microsoftb2c.login' | translate }}\n</button>\n", styles: [":host{padding:10px 10px 10px 0;display:inline-block;position:relative;top:-15px}:host>button{font-size:15px;height:40px;width:265px}mat-icon{margin-right:10px}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "component", type: IgoIconComponent, selector: "igo-icon", inputs: ["icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
88
|
+
}
|
|
89
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: AuthMicrosoftb2cComponent, decorators: [{
|
|
90
|
+
type: Component,
|
|
91
|
+
args: [{ selector: 'igo-auth-microsoftb2c', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [MatButtonModule, IgoLanguageModule, IgoIconComponent], providers: [MsalServiceb2c], template: "<button\n class=\"microsoft-login-button\"\n mat-raised-button\n (click)=\"loginMicrosoftb2c()\"\n>\n <igo-icon [icon]=\"svgIcon\"></igo-icon>\n {{ 'igo.auth.microsoftb2c.login' | translate }}\n</button>\n", styles: [":host{padding:10px 10px 10px 0;display:inline-block;position:relative;top:-15px}:host>button{font-size:15px;height:40px;width:265px}mat-icon{margin-right:10px}\n"] }]
|
|
92
|
+
}], ctorParameters: () => [{ type: i1.AuthService }, { type: i2.ConfigService }, { type: i0.ApplicationRef }, { type: i3.MsalServiceb2c }, { type: undefined, decorators: [{
|
|
93
|
+
type: Inject,
|
|
94
|
+
args: [MSAL_GUARD_CONFIG]
|
|
95
|
+
}] }], propDecorators: { login: [{
|
|
96
|
+
type: Output
|
|
97
|
+
}] } });
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1taWNyb3NvZnRiMmMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYXV0aC9taWNyb3NvZnQvc3JjL2F1dGgtbWljcm9zb2Z0YjJjL2F1dGgtbWljcm9zb2Z0YjJjLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2F1dGgvbWljcm9zb2Z0L3NyYy9hdXRoLW1pY3Jvc29mdGIyYy9hdXRoLW1pY3Jvc29mdGIyYy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsY0FBYyxFQUNkLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFDTixNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTNELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDekMsT0FBTyxFQUFXLGdCQUFnQixFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzlFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV4RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RCxPQUFPLEVBRUwsNEJBQTRCLEVBQzVCLGlCQUFpQixFQUVqQix1QkFBdUIsRUFFeEIsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFNbkQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDakYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFN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RSxLQUFLLEVBQUUsRUFBRTtZQUNyQixJQUFJLEtBQUssWUFBWSw0QkFBNEIsRUFBRSxDQUFDO2dCQUNsRCxpREFBaUQ7Z0JBQ2pELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FDdkMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLFdBQTRCLENBQzVDLENBQUM7WUFDSixDQUFDO1FBQ0gsQ0FBQyxDQUFDO2FBQ0QsS0FBSyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDZixPQUFPLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDcEMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sT0FBTztRQUNiLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdkUsQ0FBQzt1R0FoRlUseUJBQXlCLHNJQWExQixpQkFBaUI7MkZBYmhCLHlCQUF5QixpR0FGekIsQ0FBQyxjQUFjLENBQUMsMEJDekM3QixvTkFRQSwwTkRnQ1ksZUFBZSwyTkFBRSxpQkFBaUIsNEZBQUUsZ0JBQWdCOzsyRkFHbkQseUJBQXlCO2tCQVRyQyxTQUFTOytCQUNFLHVCQUF1QixtQkFHaEIsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1AsQ0FBQyxlQUFlLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLENBQUMsYUFDcEQsQ0FBQyxjQUFjLENBQUM7OzBCQWV4QixNQUFNOzJCQUFDLGlCQUFpQjt5Q0FWakIsS0FBSztzQkFBZCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQXBwbGljYXRpb25SZWYsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5qZWN0LFxuICBPdXRwdXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuXG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJ0BpZ28yL2F1dGgnO1xuaW1wb3J0IHsgSWNvblN2ZywgSWdvSWNvbkNvbXBvbmVudCwgTUlDUk9TT0ZUX0lDT04gfSBmcm9tICdAaWdvMi9jb21tb24vaWNvbic7XG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZS9jb25maWcnO1xuaW1wb3J0IHsgSWdvTGFuZ3VhZ2VNb2R1bGUgfSBmcm9tICdAaWdvMi9jb3JlL2xhbmd1YWdlJztcblxuaW1wb3J0IHsgTVNBTF9HVUFSRF9DT05GSUcgfSBmcm9tICdAYXp1cmUvbXNhbC1hbmd1bGFyJztcbmltcG9ydCB7XG4gIEF1dGhlbnRpY2F0aW9uUmVzdWx0LFxuICBJbnRlcmFjdGlvblJlcXVpcmVkQXV0aEVycm9yLFxuICBJbnRlcmFjdGlvblN0YXR1cyxcbiAgUG9wdXBSZXF1ZXN0LFxuICBQdWJsaWNDbGllbnRBcHBsaWNhdGlvbixcbiAgU2lsZW50UmVxdWVzdFxufSBmcm9tICdAYXp1cmUvbXNhbC1icm93c2VyJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge1xuICBBdXRoTWljcm9zb2Z0YjJjT3B0aW9ucyxcbiAgTVNQTXNhbEd1YXJkQ29uZmlndXJhdGlvblxufSBmcm9tICcuLi9zaGFyZWQvYXV0aC1taWNyb3NvZnQuaW50ZXJmYWNlJztcbmltcG9ydCB7IE1zYWxCcm9hZGNhc3RTZXJ2aWNlYjJjIH0gZnJvbSAnLi9hdXRoLW1zYWxCcm9hZGNhc3RTZXJ2aWNlYjJjLnNlcnZpY2UnO1xuaW1wb3J0IHsgTXNhbFNlcnZpY2ViMmMgfSBmcm9tICcuL2F1dGgtbXNhbFNlcnZpY2ViMmMuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2lnby1hdXRoLW1pY3Jvc29mdGIyYycsXG4gIHRlbXBsYXRlVXJsOiAnLi9hdXRoLW1pY3Jvc29mdGIyYy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2F1dGgtbWljcm9zb2Z0YjJjLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTWF0QnV0dG9uTW9kdWxlLCBJZ29MYW5ndWFnZU1vZHVsZSwgSWdvSWNvbkNvbXBvbmVudF0sXG4gIHByb3ZpZGVyczogW01zYWxTZXJ2aWNlYjJjXVxufSlcbmV4cG9ydCBjbGFzcyBBdXRoTWljcm9zb2Z0YjJjQ29tcG9uZW50IHtcbiAgcHJpdmF0ZSBvcHRpb25zOiBBdXRoTWljcm9zb2Z0YjJjT3B0aW9ucztcbiAgcHJpdmF0ZSByZWFkb25seSBfZGVzdHJveWluZyQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBAT3V0cHV0KCkgbG9naW46IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgcHJpdmF0ZSBicm9hZGNhc3RTZXJ2aWNlOiBNc2FsQnJvYWRjYXN0U2VydmljZWIyYztcblxuICBzdmdJY29uOiBJY29uU3ZnID0gTUlDUk9TT0ZUX0lDT047XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb25maWc6IENvbmZpZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBhcHBSZWY6IEFwcGxpY2F0aW9uUmVmLFxuICAgIHByaXZhdGUgbXNhbFNlcnZpY2U6IE1zYWxTZXJ2aWNlYjJjLFxuICAgIEBJbmplY3QoTVNBTF9HVUFSRF9DT05GSUcpXG4gICAgcHJpdmF0ZSBtc2FsR3VhcmRDb25maWc6IE1TUE1zYWxHdWFyZENvbmZpZ3VyYXRpb25bXVxuICApIHtcbiAgICB0aGlzLm9wdGlvbnMgPSB0aGlzLmNvbmZpZy5nZXRDb25maWcoJ2F1dGgubWljcm9zb2Z0YjJjJykgfHwge307XG5cbiAgICB0aGlzLm1zYWxTZXJ2aWNlLmluc3RhbmNlID0gbmV3IFB1YmxpY0NsaWVudEFwcGxpY2F0aW9uKHtcbiAgICAgIGF1dGg6IHRoaXMub3B0aW9ucy5icm93c2VyQXV0aE9wdGlvbnMsXG4gICAgICBjYWNoZToge1xuICAgICAgICBjYWNoZUxvY2F0aW9uOiAnc2Vzc2lvblN0b3JhZ2UnXG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLmJyb2FkY2FzdFNlcnZpY2UgPSBuZXcgTXNhbEJyb2FkY2FzdFNlcnZpY2ViMmMoXG4gICAgICB0aGlzLm1zYWxTZXJ2aWNlLmluc3RhbmNlLFxuICAgICAgdGhpcy5tc2FsU2VydmljZVxuICAgICk7XG5cbiAgICBpZiAodGhpcy5vcHRpb25zLmJyb3dzZXJBdXRoT3B0aW9ucy5jbGllbnRJZCkge1xuICAgICAgdGhpcy5icm9hZGNhc3RTZXJ2aWNlLmluUHJvZ3Jlc3MkXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIGZpbHRlcihcbiAgICAgICAgICAgIChzdGF0dXM6IEludGVyYWN0aW9uU3RhdHVzKSA9PiBzdGF0dXMgPT09IEludGVyYWN0aW9uU3RhdHVzLk5vbmVcbiAgICAgICAgICApLFxuICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95aW5nJClcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLmNoZWNrQWNjb3VudCgpO1xuICAgICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS53YXJuKCdNaWNyb3NvZnQgYXV0aGVudGlmaWNhdGlvbiBuZWVkcyBcImNsaWVudElkXCIgb3B0aW9uJyk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGxvZ2luTWljcm9zb2Z0YjJjKCkge1xuICAgIHRoaXMubXNhbFNlcnZpY2VcbiAgICAgIC5sb2dpblBvcHVwKHsgLi4udGhpcy5nZXRDb25mKCkuYXV0aFJlcXVlc3QgfSBhcyBQb3B1cFJlcXVlc3QpXG4gICAgICAuc3Vic2NyaWJlKChyZXNwb25zZTogQXV0aGVudGljYXRpb25SZXN1bHQpID0+IHtcbiAgICAgICAgdGhpcy5tc2FsU2VydmljZS5pbnN0YW5jZS5zZXRBY3RpdmVBY2NvdW50KHJlc3BvbnNlLmFjY291bnQpO1xuICAgICAgICB0aGlzLmNoZWNrQWNjb3VudCgpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGNoZWNrQWNjb3VudCgpIHtcbiAgICB0aGlzLm1zYWxTZXJ2aWNlLmluc3RhbmNlXG4gICAgICAuYWNxdWlyZVRva2VuU2lsZW50KHRoaXMuZ2V0Q29uZigpLmF1dGhSZXF1ZXN0IGFzIFNpbGVudFJlcXVlc3QpXG4gICAgICAudGhlbigocmVzcG9uc2U6IEF1dGhlbnRpY2F0aW9uUmVzdWx0KSA9PiB7XG4gICAgICAgIGNvbnN0IHRva2VuID0gcmVzcG9uc2UuaWRUb2tlbjtcbiAgICAgICAgdGhpcy5hdXRoU2VydmljZS5sb2dpbldpdGhUb2tlbih0b2tlbiwgJ21pY3Jvc29mdGIyYycpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5hcHBSZWYudGljaygpO1xuICAgICAgICAgIHRoaXMubG9naW4uZW1pdCh0cnVlKTtcbiAgICAgICAgfSk7XG4gICAgICB9KVxuICAgICAgLmNhdGNoKGFzeW5jIChlcnJvcikgPT4ge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBJbnRlcmFjdGlvblJlcXVpcmVkQXV0aEVycm9yKSB7XG4gICAgICAgICAgLy8gZmFsbGJhY2sgdG8gaW50ZXJhY3Rpb24gd2hlbiBzaWxlbnQgY2FsbCBmYWlsc1xuICAgICAgICAgIHJldHVybiB0aGlzLm1zYWxTZXJ2aWNlLmFjcXVpcmVUb2tlblBvcHVwKFxuICAgICAgICAgICAgdGhpcy5nZXRDb25mKCkuYXV0aFJlcXVlc3QgYXMgU2lsZW50UmVxdWVzdFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgICAuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdTaWxlbnQgdG9rZW4gZmFpbHMnKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDb25mKCk6IE1TUE1zYWxHdWFyZENvbmZpZ3VyYXRpb24ge1xuICAgIHJldHVybiB0aGlzLm1zYWxHdWFyZENvbmZpZy5maWx0ZXIoKGNvbmYpID0+IGNvbmYudHlwZSA9PT0gJ2IyYycpWzBdO1xuICB9XG59XG4iLCI8YnV0dG9uXG4gIGNsYXNzPVwibWljcm9zb2Z0LWxvZ2luLWJ1dHRvblwiXG4gIG1hdC1yYWlzZWQtYnV0dG9uXG4gIChjbGljayk9XCJsb2dpbk1pY3Jvc29mdGIyYygpXCJcbj5cbiAgPGlnby1pY29uIFtpY29uXT1cInN2Z0ljb25cIj48L2lnby1pY29uPlxuICB7eyAnaWdvLmF1dGgubWljcm9zb2Z0YjJjLmxvZ2luJyB8IHRyYW5zbGF0ZSB9fVxuPC9idXR0b24+XG4iXX0=
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
+
* Licensed under the MIT License.
|
|
4
|
+
*/
|
|
5
|
+
import { Inject, Injectable } from '@angular/core';
|
|
6
|
+
import { MSAL_INSTANCE } from '@azure/msal-angular';
|
|
7
|
+
import { EventMessageUtils, InteractionStatus } from '@azure/msal-browser';
|
|
8
|
+
import { BehaviorSubject, Subject } from 'rxjs';
|
|
9
|
+
import { MsalServiceb2c } from './auth-msalServiceb2c.service';
|
|
10
|
+
import * as i0 from "@angular/core";
|
|
11
|
+
import * as i1 from "./auth-msalServiceb2c.service";
|
|
12
|
+
export class MsalBroadcastServiceb2c {
|
|
13
|
+
msalInstance;
|
|
14
|
+
authService;
|
|
15
|
+
_msalSubject;
|
|
16
|
+
msalSubject$;
|
|
17
|
+
_inProgress;
|
|
18
|
+
inProgress$;
|
|
19
|
+
constructor(msalInstance, authService) {
|
|
20
|
+
this.msalInstance = msalInstance;
|
|
21
|
+
this.authService = authService;
|
|
22
|
+
this._msalSubject = new Subject();
|
|
23
|
+
this.msalSubject$ = this._msalSubject.asObservable();
|
|
24
|
+
// InProgress as BehaviorSubject so most recent inProgress state will be available upon subscription
|
|
25
|
+
this._inProgress = new BehaviorSubject(InteractionStatus.Startup);
|
|
26
|
+
this.inProgress$ = this._inProgress.asObservable();
|
|
27
|
+
this.msalInstance.addEventCallback((message) => {
|
|
28
|
+
this._msalSubject.next(message);
|
|
29
|
+
const status = EventMessageUtils.getInteractionStatusFromEvent(message);
|
|
30
|
+
if (status !== null) {
|
|
31
|
+
this.authService
|
|
32
|
+
.getLogger()
|
|
33
|
+
.verbose(`BroadcastService - ${message.eventType} results in setting inProgress to ${status}`);
|
|
34
|
+
this._inProgress.next(status);
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: MsalBroadcastServiceb2c, deps: [{ token: MSAL_INSTANCE }, { token: i1.MsalServiceb2c }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
39
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: MsalBroadcastServiceb2c });
|
|
40
|
+
}
|
|
41
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: MsalBroadcastServiceb2c, decorators: [{
|
|
42
|
+
type: Injectable
|
|
43
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
44
|
+
type: Inject,
|
|
45
|
+
args: [MSAL_INSTANCE]
|
|
46
|
+
}] }, { type: i1.MsalServiceb2c }] });
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1tc2FsQnJvYWRjYXN0U2VydmljZWIyYy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYXV0aC9taWNyb3NvZnQvc3JjL2F1dGgtbWljcm9zb2Z0YjJjL2F1dGgtbXNhbEJyb2FkY2FzdFNlcnZpY2ViMmMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUVMLGlCQUFpQixFQUVqQixpQkFBaUIsRUFDbEIsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsZUFBZSxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUU1RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sK0JBQStCLENBQUM7OztBQUcvRCxNQUFNLE9BQU8sdUJBQXVCO0lBT0Q7SUFDdkI7SUFQRixZQUFZLENBQXdCO0lBQ3JDLFlBQVksQ0FBMkI7SUFDdEMsV0FBVyxDQUFxQztJQUNqRCxXQUFXLENBQWdDO0lBRWxELFlBQ2lDLFlBQXNDLEVBQzdELFdBQTJCO1FBREosaUJBQVksR0FBWixZQUFZLENBQTBCO1FBQzdELGdCQUFXLEdBQVgsV0FBVyxDQUFnQjtRQUVuQyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksT0FBTyxFQUFnQixDQUFDO1FBQ2hELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUVyRCxvR0FBb0c7UUFDcEcsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLGVBQWUsQ0FDcEMsaUJBQWlCLENBQUMsT0FBTyxDQUMxQixDQUFDO1FBQ0YsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBRW5ELElBQUksQ0FBQyxZQUFZLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxPQUFxQixFQUFFLEVBQUU7WUFDM0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDaEMsTUFBTSxNQUFNLEdBQUcsaUJBQWlCLENBQUMsNkJBQTZCLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDeEUsSUFBSSxNQUFNLEtBQUssSUFBSSxFQUFFLENBQUM7Z0JBQ3BCLElBQUksQ0FBQyxXQUFXO3FCQUNiLFNBQVMsRUFBRTtxQkFDWCxPQUFPLENBQ04sc0JBQXNCLE9BQU8sQ0FBQyxTQUFTLHFDQUFxQyxNQUFNLEVBQUUsQ0FDckYsQ0FBQztnQkFDSixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNoQyxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO3VHQS9CVSx1QkFBdUIsa0JBT3hCLGFBQWE7MkdBUFosdUJBQXVCOzsyRkFBdkIsdUJBQXVCO2tCQURuQyxVQUFVOzswQkFRTixNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSBNaWNyb3NvZnQgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBNU0FMX0lOU1RBTkNFIH0gZnJvbSAnQGF6dXJlL21zYWwtYW5ndWxhcic7XG5pbXBvcnQge1xuICBFdmVudE1lc3NhZ2UsXG4gIEV2ZW50TWVzc2FnZVV0aWxzLFxuICBJUHVibGljQ2xpZW50QXBwbGljYXRpb24sXG4gIEludGVyYWN0aW9uU3RhdHVzXG59IGZyb20gJ0BhenVyZS9tc2FsLWJyb3dzZXInO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IE1zYWxTZXJ2aWNlYjJjIH0gZnJvbSAnLi9hdXRoLW1zYWxTZXJ2aWNlYjJjLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTXNhbEJyb2FkY2FzdFNlcnZpY2ViMmMge1xuICBwcml2YXRlIF9tc2FsU3ViamVjdDogU3ViamVjdDxFdmVudE1lc3NhZ2U+O1xuICBwdWJsaWMgbXNhbFN1YmplY3QkOiBPYnNlcnZhYmxlPEV2ZW50TWVzc2FnZT47XG4gIHByaXZhdGUgX2luUHJvZ3Jlc3M6IEJlaGF2aW9yU3ViamVjdDxJbnRlcmFjdGlvblN0YXR1cz47XG4gIHB1YmxpYyBpblByb2dyZXNzJDogT2JzZXJ2YWJsZTxJbnRlcmFjdGlvblN0YXR1cz47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChNU0FMX0lOU1RBTkNFKSBwcml2YXRlIG1zYWxJbnN0YW5jZTogSVB1YmxpY0NsaWVudEFwcGxpY2F0aW9uLFxuICAgIHByaXZhdGUgYXV0aFNlcnZpY2U6IE1zYWxTZXJ2aWNlYjJjXG4gICkge1xuICAgIHRoaXMuX21zYWxTdWJqZWN0ID0gbmV3IFN1YmplY3Q8RXZlbnRNZXNzYWdlPigpO1xuICAgIHRoaXMubXNhbFN1YmplY3QkID0gdGhpcy5fbXNhbFN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG5cbiAgICAvLyBJblByb2dyZXNzIGFzIEJlaGF2aW9yU3ViamVjdCBzbyBtb3N0IHJlY2VudCBpblByb2dyZXNzIHN0YXRlIHdpbGwgYmUgYXZhaWxhYmxlIHVwb24gc3Vic2NyaXB0aW9uXG4gICAgdGhpcy5faW5Qcm9ncmVzcyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8SW50ZXJhY3Rpb25TdGF0dXM+KFxuICAgICAgSW50ZXJhY3Rpb25TdGF0dXMuU3RhcnR1cFxuICAgICk7XG4gICAgdGhpcy5pblByb2dyZXNzJCA9IHRoaXMuX2luUHJvZ3Jlc3MuYXNPYnNlcnZhYmxlKCk7XG5cbiAgICB0aGlzLm1zYWxJbnN0YW5jZS5hZGRFdmVudENhbGxiYWNrKChtZXNzYWdlOiBFdmVudE1lc3NhZ2UpID0+IHtcbiAgICAgIHRoaXMuX21zYWxTdWJqZWN0Lm5leHQobWVzc2FnZSk7XG4gICAgICBjb25zdCBzdGF0dXMgPSBFdmVudE1lc3NhZ2VVdGlscy5nZXRJbnRlcmFjdGlvblN0YXR1c0Zyb21FdmVudChtZXNzYWdlKTtcbiAgICAgIGlmIChzdGF0dXMgIT09IG51bGwpIHtcbiAgICAgICAgdGhpcy5hdXRoU2VydmljZVxuICAgICAgICAgIC5nZXRMb2dnZXIoKVxuICAgICAgICAgIC52ZXJib3NlKFxuICAgICAgICAgICAgYEJyb2FkY2FzdFNlcnZpY2UgLSAke21lc3NhZ2UuZXZlbnRUeXBlfSByZXN1bHRzIGluIHNldHRpbmcgaW5Qcm9ncmVzcyB0byAke3N0YXR1c31gXG4gICAgICAgICAgKTtcbiAgICAgICAgdGhpcy5faW5Qcm9ncmVzcy5uZXh0KHN0YXR1cyk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|