@igo2/auth 1.15.5 → 1.15.6
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/esm2020/igo2-auth.mjs +4 -4
- package/esm2020/lib/auth-form/auth-facebook.component.mjs +60 -60
- package/esm2020/lib/auth-form/auth-form.component.mjs +276 -276
- package/esm2020/lib/auth-form/auth-google.component.mjs +98 -98
- package/esm2020/lib/auth-form/auth-intern.component.mjs +118 -118
- package/esm2020/lib/auth-form/auth-microsoft.component.mjs +93 -93
- package/esm2020/lib/auth-form/auth-microsoftb2c.component.mjs +92 -92
- package/esm2020/lib/auth-form/index.mjs +4 -4
- package/esm2020/lib/auth-routing.module.mjs +23 -23
- package/esm2020/lib/auth.module.mjs +90 -90
- package/esm2020/lib/shared/admin.guard.mjs +32 -32
- package/esm2020/lib/shared/auth-microsoft.provider.mjs +83 -83
- package/esm2020/lib/shared/auth-msalBroadcastServiceb2c.service.mjs +37 -37
- package/esm2020/lib/shared/auth-msalServiceb2c.service..mjs +79 -79
- package/esm2020/lib/shared/auth.guard.mjs +31 -31
- package/esm2020/lib/shared/auth.interceptor.mjs +154 -154
- package/esm2020/lib/shared/auth.interface.mjs +1 -1
- package/esm2020/lib/shared/auth.service.mjs +157 -157
- package/esm2020/lib/shared/logged.guard.mjs +31 -31
- package/esm2020/lib/shared/profils.guard.mjs +36 -36
- package/esm2020/lib/shared/protected.directive.mjs +18 -18
- package/esm2020/lib/shared/storage.interface.mjs +1 -1
- package/esm2020/lib/shared/storage.service.mjs +90 -90
- package/esm2020/lib/shared/token.service.mjs +46 -46
- package/esm2020/public_api.mjs +18 -18
- package/fesm2015/igo2-auth.mjs +1577 -1577
- package/fesm2020/igo2-auth.mjs +1475 -1475
- package/index.d.ts +5 -5
- package/lib/auth-form/auth-facebook.component.d.ts +18 -18
- package/lib/auth-form/auth-form.component.d.ts +42 -42
- package/lib/auth-form/auth-google.component.d.ts +24 -24
- package/lib/auth-form/auth-intern.component.d.ts +21 -21
- package/lib/auth-form/auth-microsoft.component.d.ts +23 -23
- package/lib/auth-form/auth-microsoftb2c.component.d.ts +23 -23
- package/lib/auth-form/index.d.ts +4 -4
- package/lib/auth-routing.module.d.ts +7 -7
- package/lib/auth.module.d.ts +23 -23
- package/lib/shared/admin.guard.d.ts +13 -13
- package/lib/shared/auth-microsoft.provider.d.ts +30 -30
- package/lib/shared/auth-msalBroadcastServiceb2c.service.d.ts +15 -15
- package/lib/shared/auth-msalServiceb2c.service..d.ts +33 -33
- package/lib/shared/auth.guard.d.ts +13 -13
- package/lib/shared/auth.interceptor.d.ts +24 -24
- package/lib/shared/auth.interface.d.ts +99 -99
- package/lib/shared/auth.service.d.ts +44 -44
- package/lib/shared/logged.guard.d.ts +13 -13
- package/lib/shared/profils.guard.d.ts +13 -13
- package/lib/shared/protected.directive.d.ts +8 -8
- package/lib/shared/storage.interface.d.ts +4 -4
- package/lib/shared/storage.service.d.ts +18 -18
- package/lib/shared/token.service.d.ts +15 -15
- package/package.json +3 -3
- package/public_api.d.ts +15 -15
|
@@ -1,91 +1,91 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { HTTP_INTERCEPTORS } from '@angular/common/http';
|
|
4
|
-
import { ReactiveFormsModule } from '@angular/forms';
|
|
5
|
-
import { MatIconModule } from '@angular/material/icon';
|
|
6
|
-
import { MatButtonModule } from '@angular/material/button';
|
|
7
|
-
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
8
|
-
import { MatInputModule } from '@angular/material/input';
|
|
9
|
-
import { MsalModule } from '@azure/msal-angular';
|
|
10
|
-
import { StorageService, IgoLanguageModule } from '@igo2/core';
|
|
11
|
-
import { AuthStorageService } from './shared/storage.service';
|
|
12
|
-
import { ProtectedDirective } from './shared/protected.directive';
|
|
13
|
-
import { AuthInterceptor } from './shared/auth.interceptor';
|
|
14
|
-
import { provideAuthMicrosoft } from './shared/auth-microsoft.provider';
|
|
15
|
-
import { AuthInternComponent } from './auth-form/auth-intern.component';
|
|
16
|
-
import { AuthFormComponent } from './auth-form/auth-form.component';
|
|
17
|
-
import { AuthGoogleComponent } from './auth-form/auth-google.component';
|
|
18
|
-
import { AuthFacebookComponent } from './auth-form/auth-facebook.component';
|
|
19
|
-
import { AuthMicrosoftComponent } from './auth-form/auth-microsoft.component';
|
|
20
|
-
import { AuthMicrosoftb2cComponent } from './auth-form/auth-microsoftb2c.component';
|
|
21
|
-
import * as i0 from "@angular/core";
|
|
22
|
-
export class IgoAuthModule {
|
|
23
|
-
static forRoot() {
|
|
24
|
-
return {
|
|
25
|
-
ngModule: IgoAuthModule,
|
|
26
|
-
providers: [
|
|
27
|
-
{
|
|
28
|
-
provide: HTTP_INTERCEPTORS,
|
|
29
|
-
useClass: AuthInterceptor,
|
|
30
|
-
multi: true
|
|
31
|
-
},
|
|
32
|
-
{
|
|
33
|
-
provide: StorageService,
|
|
34
|
-
useClass: AuthStorageService
|
|
35
|
-
},
|
|
36
|
-
...provideAuthMicrosoft('add'),
|
|
37
|
-
...provideAuthMicrosoft('b2c')
|
|
38
|
-
]
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
IgoAuthModule.ɵfac = function IgoAuthModule_Factory(t) { return new (t || IgoAuthModule)(); };
|
|
43
|
-
IgoAuthModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: IgoAuthModule });
|
|
44
|
-
IgoAuthModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule,
|
|
45
|
-
ReactiveFormsModule,
|
|
46
|
-
MatFormFieldModule,
|
|
47
|
-
MatInputModule,
|
|
48
|
-
MatIconModule,
|
|
49
|
-
MatButtonModule,
|
|
50
|
-
IgoLanguageModule,
|
|
51
|
-
MsalModule] });
|
|
52
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IgoAuthModule, [{
|
|
53
|
-
type: NgModule,
|
|
54
|
-
args: [{
|
|
55
|
-
imports: [
|
|
56
|
-
CommonModule,
|
|
57
|
-
ReactiveFormsModule,
|
|
58
|
-
MatFormFieldModule,
|
|
59
|
-
MatInputModule,
|
|
60
|
-
MatIconModule,
|
|
61
|
-
MatButtonModule,
|
|
62
|
-
IgoLanguageModule,
|
|
63
|
-
MsalModule
|
|
64
|
-
],
|
|
65
|
-
declarations: [
|
|
66
|
-
AuthFormComponent,
|
|
67
|
-
AuthGoogleComponent,
|
|
68
|
-
AuthInternComponent,
|
|
69
|
-
AuthFacebookComponent,
|
|
70
|
-
AuthMicrosoftComponent,
|
|
71
|
-
AuthMicrosoftb2cComponent,
|
|
72
|
-
ProtectedDirective
|
|
73
|
-
],
|
|
74
|
-
exports: [AuthFormComponent, ProtectedDirective]
|
|
75
|
-
}]
|
|
76
|
-
}], null, null); })();
|
|
77
|
-
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(IgoAuthModule, { declarations: [AuthFormComponent,
|
|
78
|
-
AuthGoogleComponent,
|
|
79
|
-
AuthInternComponent,
|
|
80
|
-
AuthFacebookComponent,
|
|
81
|
-
AuthMicrosoftComponent,
|
|
82
|
-
AuthMicrosoftb2cComponent,
|
|
83
|
-
ProtectedDirective], imports: [CommonModule,
|
|
84
|
-
ReactiveFormsModule,
|
|
85
|
-
MatFormFieldModule,
|
|
86
|
-
MatInputModule,
|
|
87
|
-
MatIconModule,
|
|
88
|
-
MatButtonModule,
|
|
89
|
-
IgoLanguageModule,
|
|
90
|
-
MsalModule], exports: [AuthFormComponent, ProtectedDirective] }); })();
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { HTTP_INTERCEPTORS } from '@angular/common/http';
|
|
4
|
+
import { ReactiveFormsModule } from '@angular/forms';
|
|
5
|
+
import { MatIconModule } from '@angular/material/icon';
|
|
6
|
+
import { MatButtonModule } from '@angular/material/button';
|
|
7
|
+
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
8
|
+
import { MatInputModule } from '@angular/material/input';
|
|
9
|
+
import { MsalModule } from '@azure/msal-angular';
|
|
10
|
+
import { StorageService, IgoLanguageModule } from '@igo2/core';
|
|
11
|
+
import { AuthStorageService } from './shared/storage.service';
|
|
12
|
+
import { ProtectedDirective } from './shared/protected.directive';
|
|
13
|
+
import { AuthInterceptor } from './shared/auth.interceptor';
|
|
14
|
+
import { provideAuthMicrosoft } from './shared/auth-microsoft.provider';
|
|
15
|
+
import { AuthInternComponent } from './auth-form/auth-intern.component';
|
|
16
|
+
import { AuthFormComponent } from './auth-form/auth-form.component';
|
|
17
|
+
import { AuthGoogleComponent } from './auth-form/auth-google.component';
|
|
18
|
+
import { AuthFacebookComponent } from './auth-form/auth-facebook.component';
|
|
19
|
+
import { AuthMicrosoftComponent } from './auth-form/auth-microsoft.component';
|
|
20
|
+
import { AuthMicrosoftb2cComponent } from './auth-form/auth-microsoftb2c.component';
|
|
21
|
+
import * as i0 from "@angular/core";
|
|
22
|
+
export class IgoAuthModule {
|
|
23
|
+
static forRoot() {
|
|
24
|
+
return {
|
|
25
|
+
ngModule: IgoAuthModule,
|
|
26
|
+
providers: [
|
|
27
|
+
{
|
|
28
|
+
provide: HTTP_INTERCEPTORS,
|
|
29
|
+
useClass: AuthInterceptor,
|
|
30
|
+
multi: true
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
provide: StorageService,
|
|
34
|
+
useClass: AuthStorageService
|
|
35
|
+
},
|
|
36
|
+
...provideAuthMicrosoft('add'),
|
|
37
|
+
...provideAuthMicrosoft('b2c')
|
|
38
|
+
]
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
IgoAuthModule.ɵfac = function IgoAuthModule_Factory(t) { return new (t || IgoAuthModule)(); };
|
|
43
|
+
IgoAuthModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: IgoAuthModule });
|
|
44
|
+
IgoAuthModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule,
|
|
45
|
+
ReactiveFormsModule,
|
|
46
|
+
MatFormFieldModule,
|
|
47
|
+
MatInputModule,
|
|
48
|
+
MatIconModule,
|
|
49
|
+
MatButtonModule,
|
|
50
|
+
IgoLanguageModule,
|
|
51
|
+
MsalModule] });
|
|
52
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(IgoAuthModule, [{
|
|
53
|
+
type: NgModule,
|
|
54
|
+
args: [{
|
|
55
|
+
imports: [
|
|
56
|
+
CommonModule,
|
|
57
|
+
ReactiveFormsModule,
|
|
58
|
+
MatFormFieldModule,
|
|
59
|
+
MatInputModule,
|
|
60
|
+
MatIconModule,
|
|
61
|
+
MatButtonModule,
|
|
62
|
+
IgoLanguageModule,
|
|
63
|
+
MsalModule
|
|
64
|
+
],
|
|
65
|
+
declarations: [
|
|
66
|
+
AuthFormComponent,
|
|
67
|
+
AuthGoogleComponent,
|
|
68
|
+
AuthInternComponent,
|
|
69
|
+
AuthFacebookComponent,
|
|
70
|
+
AuthMicrosoftComponent,
|
|
71
|
+
AuthMicrosoftb2cComponent,
|
|
72
|
+
ProtectedDirective
|
|
73
|
+
],
|
|
74
|
+
exports: [AuthFormComponent, ProtectedDirective]
|
|
75
|
+
}]
|
|
76
|
+
}], null, null); })();
|
|
77
|
+
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(IgoAuthModule, { declarations: [AuthFormComponent,
|
|
78
|
+
AuthGoogleComponent,
|
|
79
|
+
AuthInternComponent,
|
|
80
|
+
AuthFacebookComponent,
|
|
81
|
+
AuthMicrosoftComponent,
|
|
82
|
+
AuthMicrosoftb2cComponent,
|
|
83
|
+
ProtectedDirective], imports: [CommonModule,
|
|
84
|
+
ReactiveFormsModule,
|
|
85
|
+
MatFormFieldModule,
|
|
86
|
+
MatInputModule,
|
|
87
|
+
MatIconModule,
|
|
88
|
+
MatButtonModule,
|
|
89
|
+
IgoLanguageModule,
|
|
90
|
+
MsalModule], exports: [AuthFormComponent, ProtectedDirective] }); })();
|
|
91
91
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9hdXRoL3NyYy9saWIvYXV0aC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVqRCxPQUFPLEVBQUUsY0FBYyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRS9ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzlELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUV4RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQzs7QUF3QnBGLE1BQU0sT0FBTyxhQUFhO0lBQ3hCLE1BQU0sQ0FBQyxPQUFPO1FBQ1osT0FBTztZQUNMLFFBQVEsRUFBRSxhQUFhO1lBQ3ZCLFNBQVMsRUFBRTtnQkFDVDtvQkFDRSxPQUFPLEVBQUUsaUJBQWlCO29CQUMxQixRQUFRLEVBQUUsZUFBZTtvQkFDekIsS0FBSyxFQUFFLElBQUk7aUJBQ1o7Z0JBQ0Q7b0JBQ0UsT0FBTyxFQUFFLGNBQWM7b0JBQ3ZCLFFBQVEsRUFBRSxrQkFBa0I7aUJBQzdCO2dCQUNELEdBQUcsb0JBQW9CLENBQUMsS0FBSyxDQUFDO2dCQUM5QixHQUFHLG9CQUFvQixDQUFDLEtBQUssQ0FBQzthQUMvQjtTQUNGLENBQUM7SUFDSixDQUFDOzswRUFsQlUsYUFBYTsrREFBYixhQUFhO21FQXBCdEIsWUFBWTtRQUNaLG1CQUFtQjtRQUNuQixrQkFBa0I7UUFDbEIsY0FBYztRQUNkLGFBQWE7UUFDYixlQUFlO1FBQ2YsaUJBQWlCO1FBQ2pCLFVBQVU7dUZBYUQsYUFBYTtjQXRCekIsUUFBUTtlQUFDO2dCQUNSLE9BQU8sRUFBRTtvQkFDUCxZQUFZO29CQUNaLG1CQUFtQjtvQkFDbkIsa0JBQWtCO29CQUNsQixjQUFjO29CQUNkLGFBQWE7b0JBQ2IsZUFBZTtvQkFDZixpQkFBaUI7b0JBQ2pCLFVBQVU7aUJBQ1g7Z0JBQ0QsWUFBWSxFQUFFO29CQUNaLGlCQUFpQjtvQkFDakIsbUJBQW1CO29CQUNuQixtQkFBbUI7b0JBQ25CLHFCQUFxQjtvQkFDckIsc0JBQXNCO29CQUN0Qix5QkFBeUI7b0JBQ3pCLGtCQUFrQjtpQkFDbkI7Z0JBQ0QsT0FBTyxFQUFFLENBQUMsaUJBQWlCLEVBQUUsa0JBQWtCLENBQUM7YUFDakQ7O3dGQUNZLGFBQWEsbUJBVnRCLGlCQUFpQjtRQUNqQixtQkFBbUI7UUFDbkIsbUJBQW1CO1FBQ25CLHFCQUFxQjtRQUNyQixzQkFBc0I7UUFDdEIseUJBQXlCO1FBQ3pCLGtCQUFrQixhQWhCbEIsWUFBWTtRQUNaLG1CQUFtQjtRQUNuQixrQkFBa0I7UUFDbEIsY0FBYztRQUNkLGFBQWE7UUFDYixlQUFlO1FBQ2YsaUJBQWlCO1FBQ2pCLFVBQVUsYUFXRixpQkFBaUIsRUFBRSxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgTW9kdWxlV2l0aFByb3ZpZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEhUVFBfSU5URVJDRVBUT1JTIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHsgTXNhbE1vZHVsZSB9IGZyb20gJ0BhenVyZS9tc2FsLWFuZ3VsYXInO1xuXG5pbXBvcnQgeyBTdG9yYWdlU2VydmljZSwgSWdvTGFuZ3VhZ2VNb2R1bGUgfSBmcm9tICdAaWdvMi9jb3JlJztcblxuaW1wb3J0IHsgQXV0aFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi9zaGFyZWQvc3RvcmFnZS5zZXJ2aWNlJztcbmltcG9ydCB7IFByb3RlY3RlZERpcmVjdGl2ZSB9IGZyb20gJy4vc2hhcmVkL3Byb3RlY3RlZC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQXV0aEludGVyY2VwdG9yIH0gZnJvbSAnLi9zaGFyZWQvYXV0aC5pbnRlcmNlcHRvcic7XG5pbXBvcnQgeyBwcm92aWRlQXV0aE1pY3Jvc29mdCB9IGZyb20gJy4vc2hhcmVkL2F1dGgtbWljcm9zb2Z0LnByb3ZpZGVyJztcblxuaW1wb3J0IHsgQXV0aEludGVybkNvbXBvbmVudCB9IGZyb20gJy4vYXV0aC1mb3JtL2F1dGgtaW50ZXJuLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBdXRoRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vYXV0aC1mb3JtL2F1dGgtZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXV0aEdvb2dsZUNvbXBvbmVudCB9IGZyb20gJy4vYXV0aC1mb3JtL2F1dGgtZ29vZ2xlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBdXRoRmFjZWJvb2tDb21wb25lbnQgfSBmcm9tICcuL2F1dGgtZm9ybS9hdXRoLWZhY2Vib29rLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBdXRoTWljcm9zb2Z0Q29tcG9uZW50IH0gZnJvbSAnLi9hdXRoLWZvcm0vYXV0aC1taWNyb3NvZnQuY29tcG9uZW50JztcbmltcG9ydCB7IEF1dGhNaWNyb3NvZnRiMmNDb21wb25lbnQgfSBmcm9tICcuL2F1dGgtZm9ybS9hdXRoLW1pY3Jvc29mdGIyYy5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgIE1hdElucHV0TW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIElnb0xhbmd1YWdlTW9kdWxlLFxuICAgIE1zYWxNb2R1bGVcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgQXV0aEZvcm1Db21wb25lbnQsXG4gICAgQXV0aEdvb2dsZUNvbXBvbmVudCxcbiAgICBBdXRoSW50ZXJuQ29tcG9uZW50LFxuICAgIEF1dGhGYWNlYm9va0NvbXBvbmVudCxcbiAgICBBdXRoTWljcm9zb2Z0Q29tcG9uZW50LFxuICAgIEF1dGhNaWNyb3NvZnRiMmNDb21wb25lbnQsXG4gICAgUHJvdGVjdGVkRGlyZWN0aXZlXG4gIF0sXG4gIGV4cG9ydHM6IFtBdXRoRm9ybUNvbXBvbmVudCwgUHJvdGVjdGVkRGlyZWN0aXZlXVxufSlcbmV4cG9ydCBjbGFzcyBJZ29BdXRoTW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3QoKTogTW9kdWxlV2l0aFByb3ZpZGVyczxJZ29BdXRoTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBJZ29BdXRoTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBIVFRQX0lOVEVSQ0VQVE9SUyxcbiAgICAgICAgICB1c2VDbGFzczogQXV0aEludGVyY2VwdG9yLFxuICAgICAgICAgIG11bHRpOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBTdG9yYWdlU2VydmljZSxcbiAgICAgICAgICB1c2VDbGFzczogQXV0aFN0b3JhZ2VTZXJ2aWNlXG4gICAgICAgIH0sXG4gICAgICAgIC4uLnByb3ZpZGVBdXRoTWljcm9zb2Z0KCdhZGQnKSxcbiAgICAgICAgLi4ucHJvdmlkZUF1dGhNaWNyb3NvZnQoJ2IyYycpXG4gICAgICBdXG4gICAgfTtcbiAgfVxufVxuIl19
|
|
@@ -1,33 +1,33 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "./auth.service";
|
|
4
|
-
import * as i2 from "@igo2/core";
|
|
5
|
-
import * as i3 from "@angular/router";
|
|
6
|
-
export class AdminGuard {
|
|
7
|
-
constructor(authService, config, router) {
|
|
8
|
-
this.authService = authService;
|
|
9
|
-
this.config = config;
|
|
10
|
-
this.router = router;
|
|
11
|
-
}
|
|
12
|
-
canActivate(route, state) {
|
|
13
|
-
const token = this.authService.decodeToken();
|
|
14
|
-
if (token && token.user && token.user.isAdmin) {
|
|
15
|
-
return true;
|
|
16
|
-
}
|
|
17
|
-
this.authService.redirectUrl = state.url;
|
|
18
|
-
const authConfig = this.config.getConfig('auth');
|
|
19
|
-
if (authConfig && authConfig.loginRoute) {
|
|
20
|
-
this.router.navigateByUrl(authConfig.loginRoute);
|
|
21
|
-
}
|
|
22
|
-
return false;
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
AdminGuard.ɵfac = function AdminGuard_Factory(t) { return new (t || AdminGuard)(i0.ɵɵinject(i1.AuthService), i0.ɵɵinject(i2.ConfigService), i0.ɵɵinject(i3.Router)); };
|
|
26
|
-
AdminGuard.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: AdminGuard, factory: AdminGuard.ɵfac, providedIn: 'root' });
|
|
27
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AdminGuard, [{
|
|
28
|
-
type: Injectable,
|
|
29
|
-
args: [{
|
|
30
|
-
providedIn: 'root'
|
|
31
|
-
}]
|
|
32
|
-
}], function () { return [{ type: i1.AuthService }, { type: i2.ConfigService }, { type: i3.Router }]; }, null); })();
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "./auth.service";
|
|
4
|
+
import * as i2 from "@igo2/core";
|
|
5
|
+
import * as i3 from "@angular/router";
|
|
6
|
+
export class AdminGuard {
|
|
7
|
+
constructor(authService, config, router) {
|
|
8
|
+
this.authService = authService;
|
|
9
|
+
this.config = config;
|
|
10
|
+
this.router = router;
|
|
11
|
+
}
|
|
12
|
+
canActivate(route, state) {
|
|
13
|
+
const token = this.authService.decodeToken();
|
|
14
|
+
if (token && token.user && token.user.isAdmin) {
|
|
15
|
+
return true;
|
|
16
|
+
}
|
|
17
|
+
this.authService.redirectUrl = state.url;
|
|
18
|
+
const authConfig = this.config.getConfig('auth');
|
|
19
|
+
if (authConfig && authConfig.loginRoute) {
|
|
20
|
+
this.router.navigateByUrl(authConfig.loginRoute);
|
|
21
|
+
}
|
|
22
|
+
return false;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
AdminGuard.ɵfac = function AdminGuard_Factory(t) { return new (t || AdminGuard)(i0.ɵɵinject(i1.AuthService), i0.ɵɵinject(i2.ConfigService), i0.ɵɵinject(i3.Router)); };
|
|
26
|
+
AdminGuard.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: AdminGuard, factory: AdminGuard.ɵfac, providedIn: 'root' });
|
|
27
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AdminGuard, [{
|
|
28
|
+
type: Injectable,
|
|
29
|
+
args: [{
|
|
30
|
+
providedIn: 'root'
|
|
31
|
+
}]
|
|
32
|
+
}], function () { return [{ type: i1.AuthService }, { type: i2.ConfigService }, { type: i3.Router }]; }, null); })();
|
|
33
33
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtaW4uZ3VhcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hdXRoL3NyYy9saWIvc2hhcmVkL2FkbWluLmd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7O0FBYzNDLE1BQU0sT0FBTyxVQUFVO0lBQ3JCLFlBQ1UsV0FBd0IsRUFDeEIsTUFBcUIsRUFDckIsTUFBYztRQUZkLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLFdBQU0sR0FBTixNQUFNLENBQWU7UUFDckIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtJQUNyQixDQUFDO0lBRUosV0FBVyxDQUFDLEtBQTZCLEVBQUUsS0FBMEI7UUFDbkUsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUM3QyxJQUFJLEtBQUssSUFBSSxLQUFLLENBQUMsSUFBSSxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQzdDLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFFRCxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDO1FBRXpDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2pELElBQUksVUFBVSxJQUFJLFVBQVUsQ0FBQyxVQUFVLEVBQUU7WUFDdkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQ2xEO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDOztvRUFyQlUsVUFBVTtnRUFBVixVQUFVLFdBQVYsVUFBVSxtQkFGVCxNQUFNO3VGQUVQLFVBQVU7Y0FIdEIsVUFBVTtlQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQ2FuQWN0aXZhdGUsXG4gIFJvdXRlcixcbiAgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCxcbiAgUm91dGVyU3RhdGVTbmFwc2hvdFxufSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZSc7XG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4vYXV0aC5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQWRtaW5HdWFyZCBpbXBsZW1lbnRzIENhbkFjdGl2YXRlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb25maWc6IENvbmZpZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlclxuICApIHt9XG5cbiAgY2FuQWN0aXZhdGUocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90KSB7XG4gICAgY29uc3QgdG9rZW4gPSB0aGlzLmF1dGhTZXJ2aWNlLmRlY29kZVRva2VuKCk7XG4gICAgaWYgKHRva2VuICYmIHRva2VuLnVzZXIgJiYgdG9rZW4udXNlci5pc0FkbWluKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICB0aGlzLmF1dGhTZXJ2aWNlLnJlZGlyZWN0VXJsID0gc3RhdGUudXJsO1xuXG4gICAgY29uc3QgYXV0aENvbmZpZyA9IHRoaXMuY29uZmlnLmdldENvbmZpZygnYXV0aCcpO1xuICAgIGlmIChhdXRoQ29uZmlnICYmIGF1dGhDb25maWcubG9naW5Sb3V0ZSkge1xuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybChhdXRoQ29uZmlnLmxvZ2luUm91dGUpO1xuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuIl19
|
|
@@ -1,84 +1,84 @@
|
|
|
1
|
-
import { MSAL_GUARD_CONFIG, MSAL_INSTANCE, MsalService, } from '@azure/msal-angular';
|
|
2
|
-
import { PublicClientApplication, InteractionType } from '@azure/msal-browser';
|
|
3
|
-
import { ConfigService } from '@igo2/core';
|
|
4
|
-
import { MsalServiceb2c } from './auth-msalServiceb2c.service.';
|
|
5
|
-
export function MSALConfigFactory(config) {
|
|
6
|
-
const msConf = config.getConfig('auth.microsoft') || {};
|
|
7
|
-
msConf.redirectUri = msConf.redirectUri || window.location.href;
|
|
8
|
-
msConf.authority = msConf.authority || 'https://login.microsoftonline.com/organizations';
|
|
9
|
-
const myMsalObj = new PublicClientApplication({
|
|
10
|
-
auth: msConf,
|
|
11
|
-
cache: {
|
|
12
|
-
cacheLocation: 'sessionStorage'
|
|
13
|
-
}
|
|
14
|
-
});
|
|
15
|
-
return myMsalObj;
|
|
16
|
-
}
|
|
17
|
-
export function MSALConfigFactoryb2c(config) {
|
|
18
|
-
const msConf = config.getConfig('auth.microsoftb2c.browserAuthOptions') || {};
|
|
19
|
-
msConf.redirectUri = msConf.redirectUri || window.location.href;
|
|
20
|
-
msConf.authority = msConf.authority || 'https://login.microsoftonline.com/organizations';
|
|
21
|
-
const myMsalObj = new PublicClientApplication({
|
|
22
|
-
auth: msConf,
|
|
23
|
-
cache: {
|
|
24
|
-
cacheLocation: 'sessionStorage'
|
|
25
|
-
}
|
|
26
|
-
});
|
|
27
|
-
return myMsalObj;
|
|
28
|
-
}
|
|
29
|
-
export function MSALAngularConfigFactory(config) {
|
|
30
|
-
const msConf = config.getConfig('auth.microsoft') || {};
|
|
31
|
-
return {
|
|
32
|
-
interactionType: InteractionType.Popup,
|
|
33
|
-
authRequest: {
|
|
34
|
-
scopes: ['user.read'],
|
|
35
|
-
loginHint: 'todo',
|
|
36
|
-
},
|
|
37
|
-
type: 'add'
|
|
38
|
-
};
|
|
39
|
-
}
|
|
40
|
-
export function MSALAngularConfigFactoryb2c(config) {
|
|
41
|
-
const msConf = config.getConfig('auth.microsoftb2c.browserAuthOptions') || {};
|
|
42
|
-
return {
|
|
43
|
-
interactionType: InteractionType.Popup,
|
|
44
|
-
authRequest: {
|
|
45
|
-
scopes: [msConf.clientId]
|
|
46
|
-
},
|
|
47
|
-
type: 'b2c'
|
|
48
|
-
};
|
|
49
|
-
}
|
|
50
|
-
export function provideAuthMicrosoft(type) {
|
|
51
|
-
if (type === 'b2c') {
|
|
52
|
-
return [
|
|
53
|
-
{
|
|
54
|
-
provide: MSAL_INSTANCE,
|
|
55
|
-
useFactory: MSALConfigFactoryb2c,
|
|
56
|
-
deps: [ConfigService]
|
|
57
|
-
},
|
|
58
|
-
{
|
|
59
|
-
provide: MSAL_GUARD_CONFIG,
|
|
60
|
-
useFactory: MSALAngularConfigFactoryb2c,
|
|
61
|
-
deps: [ConfigService],
|
|
62
|
-
multi: true
|
|
63
|
-
},
|
|
64
|
-
MsalServiceb2c
|
|
65
|
-
];
|
|
66
|
-
}
|
|
67
|
-
else {
|
|
68
|
-
return [
|
|
69
|
-
{
|
|
70
|
-
provide: MSAL_INSTANCE,
|
|
71
|
-
useFactory: MSALConfigFactory,
|
|
72
|
-
deps: [ConfigService]
|
|
73
|
-
},
|
|
74
|
-
{
|
|
75
|
-
provide: MSAL_GUARD_CONFIG,
|
|
76
|
-
useFactory: MSALAngularConfigFactory,
|
|
77
|
-
deps: [ConfigService],
|
|
78
|
-
multi: true
|
|
79
|
-
},
|
|
80
|
-
MsalService
|
|
81
|
-
];
|
|
82
|
-
}
|
|
83
|
-
}
|
|
1
|
+
import { MSAL_GUARD_CONFIG, MSAL_INSTANCE, MsalService, } from '@azure/msal-angular';
|
|
2
|
+
import { PublicClientApplication, InteractionType } from '@azure/msal-browser';
|
|
3
|
+
import { ConfigService } from '@igo2/core';
|
|
4
|
+
import { MsalServiceb2c } from './auth-msalServiceb2c.service.';
|
|
5
|
+
export function MSALConfigFactory(config) {
|
|
6
|
+
const msConf = config.getConfig('auth.microsoft') || {};
|
|
7
|
+
msConf.redirectUri = msConf.redirectUri || window.location.href;
|
|
8
|
+
msConf.authority = msConf.authority || 'https://login.microsoftonline.com/organizations';
|
|
9
|
+
const myMsalObj = new PublicClientApplication({
|
|
10
|
+
auth: msConf,
|
|
11
|
+
cache: {
|
|
12
|
+
cacheLocation: 'sessionStorage'
|
|
13
|
+
}
|
|
14
|
+
});
|
|
15
|
+
return myMsalObj;
|
|
16
|
+
}
|
|
17
|
+
export function MSALConfigFactoryb2c(config) {
|
|
18
|
+
const msConf = config.getConfig('auth.microsoftb2c.browserAuthOptions') || {};
|
|
19
|
+
msConf.redirectUri = msConf.redirectUri || window.location.href;
|
|
20
|
+
msConf.authority = msConf.authority || 'https://login.microsoftonline.com/organizations';
|
|
21
|
+
const myMsalObj = new PublicClientApplication({
|
|
22
|
+
auth: msConf,
|
|
23
|
+
cache: {
|
|
24
|
+
cacheLocation: 'sessionStorage'
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
return myMsalObj;
|
|
28
|
+
}
|
|
29
|
+
export function MSALAngularConfigFactory(config) {
|
|
30
|
+
const msConf = config.getConfig('auth.microsoft') || {};
|
|
31
|
+
return {
|
|
32
|
+
interactionType: InteractionType.Popup,
|
|
33
|
+
authRequest: {
|
|
34
|
+
scopes: ['user.read'],
|
|
35
|
+
loginHint: 'todo',
|
|
36
|
+
},
|
|
37
|
+
type: 'add'
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
export function MSALAngularConfigFactoryb2c(config) {
|
|
41
|
+
const msConf = config.getConfig('auth.microsoftb2c.browserAuthOptions') || {};
|
|
42
|
+
return {
|
|
43
|
+
interactionType: InteractionType.Popup,
|
|
44
|
+
authRequest: {
|
|
45
|
+
scopes: [msConf.clientId]
|
|
46
|
+
},
|
|
47
|
+
type: 'b2c'
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
export function provideAuthMicrosoft(type) {
|
|
51
|
+
if (type === 'b2c') {
|
|
52
|
+
return [
|
|
53
|
+
{
|
|
54
|
+
provide: MSAL_INSTANCE,
|
|
55
|
+
useFactory: MSALConfigFactoryb2c,
|
|
56
|
+
deps: [ConfigService]
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
provide: MSAL_GUARD_CONFIG,
|
|
60
|
+
useFactory: MSALAngularConfigFactoryb2c,
|
|
61
|
+
deps: [ConfigService],
|
|
62
|
+
multi: true
|
|
63
|
+
},
|
|
64
|
+
MsalServiceb2c
|
|
65
|
+
];
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
return [
|
|
69
|
+
{
|
|
70
|
+
provide: MSAL_INSTANCE,
|
|
71
|
+
useFactory: MSALConfigFactory,
|
|
72
|
+
deps: [ConfigService]
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
provide: MSAL_GUARD_CONFIG,
|
|
76
|
+
useFactory: MSALAngularConfigFactory,
|
|
77
|
+
deps: [ConfigService],
|
|
78
|
+
multi: true
|
|
79
|
+
},
|
|
80
|
+
MsalService
|
|
81
|
+
];
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
84
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1taWNyb3NvZnQucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hdXRoL3NyYy9saWIvc2hhcmVkL2F1dGgtbWljcm9zb2Z0LnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsYUFBYSxFQUNiLFdBQVcsR0FDWixNQUFNLHFCQUFxQixDQUFDO0FBRTdCLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsZUFBZSxFQUNoQixNQUFNLHFCQUFxQixDQUFDO0FBRTdCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFNM0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRWhFLE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxNQUFxQjtJQUVyRCxNQUFNLE1BQU0sR0FBdUIsTUFBTSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUU1RSxNQUFNLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7SUFDaEUsTUFBTSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxJQUFJLGlEQUFpRCxDQUFDO0lBRXpGLE1BQU0sU0FBUyxHQUFHLElBQUksdUJBQXVCLENBQUM7UUFDNUMsSUFBSSxFQUFFLE1BQU07UUFDWixLQUFLLEVBQUU7WUFDTCxhQUFhLEVBQUUsZ0JBQWdCO1NBQ2hDO0tBQ0YsQ0FBQyxDQUFDO0lBRUgsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQztBQUVELE1BQU0sVUFBVSxvQkFBb0IsQ0FBQyxNQUFxQjtJQUV4RCxNQUFNLE1BQU0sR0FBdUIsTUFBTSxDQUFDLFNBQVMsQ0FBQyxzQ0FBc0MsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNsRyxNQUFNLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7SUFDaEUsTUFBTSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxJQUFJLGlEQUFpRCxDQUFDO0lBRXpGLE1BQU0sU0FBUyxHQUFHLElBQUksdUJBQXVCLENBQUM7UUFDNUMsSUFBSSxFQUFFLE1BQU07UUFDWixLQUFLLEVBQUU7WUFDTCxhQUFhLEVBQUUsZ0JBQWdCO1NBQ2hDO0tBQ0YsQ0FBQyxDQUFDO0lBRUgsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQztBQUVELE1BQU0sVUFBVSx3QkFBd0IsQ0FBQyxNQUFxQjtJQUU1RCxNQUFNLE1BQU0sR0FBeUIsTUFBTSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUU5RSxPQUFPO1FBQ0wsZUFBZSxFQUFFLGVBQWUsQ0FBQyxLQUFLO1FBQ3RDLFdBQVcsRUFBRTtZQUNYLE1BQU0sRUFBRSxDQUFDLFdBQVcsQ0FBQztZQUNyQixTQUFTLEVBQUUsTUFBTTtTQUNsQjtRQUNELElBQUksRUFBRSxLQUFLO0tBQ1osQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsMkJBQTJCLENBQUMsTUFBcUI7SUFFL0QsTUFBTSxNQUFNLEdBQXVCLE1BQU0sQ0FBQyxTQUFTLENBQUMsc0NBQXNDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFFbEcsT0FBTztRQUNMLGVBQWUsRUFBRSxlQUFlLENBQUMsS0FBSztRQUN0QyxXQUFXLEVBQUU7WUFDWCxNQUFNLEVBQUUsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDO1NBQzFCO1FBQ0QsSUFBSSxFQUFFLEtBQUs7S0FDWixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxvQkFBb0IsQ0FBQyxJQUFhO0lBQ2hELElBQUksSUFBSSxLQUFLLEtBQUssRUFBRTtRQUNsQixPQUFPO1lBQ0w7Z0JBQ0UsT0FBTyxFQUFFLGFBQWE7Z0JBQ3RCLFVBQVUsRUFBRSxvQkFBb0I7Z0JBQ2hDLElBQUksRUFBRSxDQUFDLGFBQWEsQ0FBQzthQUN0QjtZQUNEO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFVBQVUsRUFBRSwyQkFBMkI7Z0JBQ3ZDLElBQUksRUFBRSxDQUFDLGFBQWEsQ0FBQztnQkFDckIsS0FBSyxFQUFFLElBQUk7YUFDWjtZQUNELGNBQWM7U0FDZixDQUFDO0tBQ0g7U0FBTTtRQUNMLE9BQU87WUFDTDtnQkFDRSxPQUFPLEVBQUUsYUFBYTtnQkFDdEIsVUFBVSxFQUFFLGlCQUFpQjtnQkFDN0IsSUFBSSxFQUFFLENBQUMsYUFBYSxDQUFDO2FBQ3RCO1lBQ0Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsVUFBVSxFQUFFLHdCQUF3QjtnQkFDcEMsSUFBSSxFQUFFLENBQUMsYUFBYSxDQUFDO2dCQUNyQixLQUFLLEVBQUUsSUFBSTthQUNaO1lBQ0QsV0FBVztTQUNaLENBQUM7S0FDSDtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBNU0FMX0dVQVJEX0NPTkZJRyxcbiAgTVNBTF9JTlNUQU5DRSxcbiAgTXNhbFNlcnZpY2UsXG59IGZyb20gJ0BhenVyZS9tc2FsLWFuZ3VsYXInO1xuXG5pbXBvcnQge1xuICBQdWJsaWNDbGllbnRBcHBsaWNhdGlvbixcbiAgSW50ZXJhY3Rpb25UeXBlXG59IGZyb20gJ0BhenVyZS9tc2FsLWJyb3dzZXInO1xuXG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZSc7XG5cbmltcG9ydCB7IEJyb3dzZXJBdXRoT3B0aW9ucyB9IGZyb20gJ0BhenVyZS9tc2FsLWJyb3dzZXInO1xuXG5pbXBvcnQgeyBBdXRoTWljcm9zb2Z0T3B0aW9ucywgTVNQTXNhbEd1YXJkQ29uZmlndXJhdGlvbiB9IGZyb20gJy4vYXV0aC5pbnRlcmZhY2UnO1xuXG5pbXBvcnQgeyBNc2FsU2VydmljZWIyYyB9IGZyb20gJy4vYXV0aC1tc2FsU2VydmljZWIyYy5zZXJ2aWNlLic7XG5cbmV4cG9ydCBmdW5jdGlvbiBNU0FMQ29uZmlnRmFjdG9yeShjb25maWc6IENvbmZpZ1NlcnZpY2UpOiBQdWJsaWNDbGllbnRBcHBsaWNhdGlvbiB7XG5cbiAgY29uc3QgbXNDb25mOiBCcm93c2VyQXV0aE9wdGlvbnMgPSBjb25maWcuZ2V0Q29uZmlnKCdhdXRoLm1pY3Jvc29mdCcpIHx8IHt9O1xuXG4gIG1zQ29uZi5yZWRpcmVjdFVyaSA9IG1zQ29uZi5yZWRpcmVjdFVyaSB8fCB3aW5kb3cubG9jYXRpb24uaHJlZjtcbiAgbXNDb25mLmF1dGhvcml0eSA9IG1zQ29uZi5hdXRob3JpdHkgfHwgJ2h0dHBzOi8vbG9naW4ubWljcm9zb2Z0b25saW5lLmNvbS9vcmdhbml6YXRpb25zJztcblxuICBjb25zdCBteU1zYWxPYmogPSBuZXcgUHVibGljQ2xpZW50QXBwbGljYXRpb24oe1xuICAgIGF1dGg6IG1zQ29uZixcbiAgICBjYWNoZToge1xuICAgICAgY2FjaGVMb2NhdGlvbjogJ3Nlc3Npb25TdG9yYWdlJ1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIG15TXNhbE9iajtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIE1TQUxDb25maWdGYWN0b3J5YjJjKGNvbmZpZzogQ29uZmlnU2VydmljZSk6IFB1YmxpY0NsaWVudEFwcGxpY2F0aW9uIHtcblxuICBjb25zdCBtc0NvbmY6IEJyb3dzZXJBdXRoT3B0aW9ucyA9IGNvbmZpZy5nZXRDb25maWcoJ2F1dGgubWljcm9zb2Z0YjJjLmJyb3dzZXJBdXRoT3B0aW9ucycpIHx8IHt9O1xuICBtc0NvbmYucmVkaXJlY3RVcmkgPSBtc0NvbmYucmVkaXJlY3RVcmkgfHwgd2luZG93LmxvY2F0aW9uLmhyZWY7XG4gIG1zQ29uZi5hdXRob3JpdHkgPSBtc0NvbmYuYXV0aG9yaXR5IHx8ICdodHRwczovL2xvZ2luLm1pY3Jvc29mdG9ubGluZS5jb20vb3JnYW5pemF0aW9ucyc7XG5cbiAgY29uc3QgbXlNc2FsT2JqID0gbmV3IFB1YmxpY0NsaWVudEFwcGxpY2F0aW9uKHtcbiAgICBhdXRoOiBtc0NvbmYsXG4gICAgY2FjaGU6IHtcbiAgICAgIGNhY2hlTG9jYXRpb246ICdzZXNzaW9uU3RvcmFnZSdcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiBteU1zYWxPYmo7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBNU0FMQW5ndWxhckNvbmZpZ0ZhY3RvcnkoY29uZmlnOiBDb25maWdTZXJ2aWNlKTogTVNQTXNhbEd1YXJkQ29uZmlndXJhdGlvbiB7XG5cbiAgY29uc3QgbXNDb25mOiBBdXRoTWljcm9zb2Z0T3B0aW9ucyA9IGNvbmZpZy5nZXRDb25maWcoJ2F1dGgubWljcm9zb2Z0JykgfHwge307XG5cbiAgcmV0dXJuIHtcbiAgICBpbnRlcmFjdGlvblR5cGU6IEludGVyYWN0aW9uVHlwZS5Qb3B1cCxcbiAgICBhdXRoUmVxdWVzdDoge1xuICAgICAgc2NvcGVzOiBbJ3VzZXIucmVhZCddLFxuICAgICAgbG9naW5IaW50OiAndG9kbycsXG4gICAgfSxcbiAgICB0eXBlOiAnYWRkJ1xuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gTVNBTEFuZ3VsYXJDb25maWdGYWN0b3J5YjJjKGNvbmZpZzogQ29uZmlnU2VydmljZSk6IE1TUE1zYWxHdWFyZENvbmZpZ3VyYXRpb24ge1xuXG4gIGNvbnN0IG1zQ29uZjogQnJvd3NlckF1dGhPcHRpb25zID0gY29uZmlnLmdldENvbmZpZygnYXV0aC5taWNyb3NvZnRiMmMuYnJvd3NlckF1dGhPcHRpb25zJykgfHwge307XG5cbiAgcmV0dXJuIHtcbiAgICBpbnRlcmFjdGlvblR5cGU6IEludGVyYWN0aW9uVHlwZS5Qb3B1cCxcbiAgICBhdXRoUmVxdWVzdDoge1xuICAgICAgc2NvcGVzOiBbbXNDb25mLmNsaWVudElkXVxuICAgIH0sXG4gICAgdHlwZTogJ2IyYydcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVBdXRoTWljcm9zb2Z0KHR5cGU/OiBzdHJpbmcpIHtcbiAgaWYgKHR5cGUgPT09ICdiMmMnKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIHtcbiAgICAgICAgcHJvdmlkZTogTVNBTF9JTlNUQU5DRSxcbiAgICAgICAgdXNlRmFjdG9yeTogTVNBTENvbmZpZ0ZhY3RvcnliMmMsXG4gICAgICAgIGRlcHM6IFtDb25maWdTZXJ2aWNlXVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgcHJvdmlkZTogTVNBTF9HVUFSRF9DT05GSUcsXG4gICAgICAgIHVzZUZhY3Rvcnk6IE1TQUxBbmd1bGFyQ29uZmlnRmFjdG9yeWIyYyxcbiAgICAgICAgZGVwczogW0NvbmZpZ1NlcnZpY2VdLFxuICAgICAgICBtdWx0aTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIE1zYWxTZXJ2aWNlYjJjXG4gICAgXTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gW1xuICAgICAge1xuICAgICAgICBwcm92aWRlOiBNU0FMX0lOU1RBTkNFLFxuICAgICAgICB1c2VGYWN0b3J5OiBNU0FMQ29uZmlnRmFjdG9yeSxcbiAgICAgICAgZGVwczogW0NvbmZpZ1NlcnZpY2VdXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBwcm92aWRlOiBNU0FMX0dVQVJEX0NPTkZJRyxcbiAgICAgICAgdXNlRmFjdG9yeTogTVNBTEFuZ3VsYXJDb25maWdGYWN0b3J5LFxuICAgICAgICBkZXBzOiBbQ29uZmlnU2VydmljZV0sXG4gICAgICAgIG11bHRpOiB0cnVlXG4gICAgICB9LFxuICAgICAgTXNhbFNlcnZpY2VcbiAgICBdO1xuICB9XG59XG4iXX0=
|
|
@@ -1,38 +1,38 @@
|
|
|
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 { BehaviorSubject, Subject } from 'rxjs';
|
|
7
|
-
import { MSAL_INSTANCE } from '@azure/msal-angular';
|
|
8
|
-
import { EventMessageUtils, InteractionStatus } from '@azure/msal-browser';
|
|
9
|
-
import * as i0 from "@angular/core";
|
|
10
|
-
import * as i1 from "./auth-msalServiceb2c.service.";
|
|
11
|
-
export class MsalBroadcastServiceb2c {
|
|
12
|
-
constructor(msalInstance, authService) {
|
|
13
|
-
this.msalInstance = msalInstance;
|
|
14
|
-
this.authService = authService;
|
|
15
|
-
this._msalSubject = new Subject();
|
|
16
|
-
this.msalSubject$ = this._msalSubject.asObservable();
|
|
17
|
-
// InProgress as BehaviorSubject so most recent inProgress state will be available upon subscription
|
|
18
|
-
this._inProgress = new BehaviorSubject(InteractionStatus.Startup);
|
|
19
|
-
this.inProgress$ = this._inProgress.asObservable();
|
|
20
|
-
this.msalInstance.addEventCallback((message) => {
|
|
21
|
-
this._msalSubject.next(message);
|
|
22
|
-
const status = EventMessageUtils.getInteractionStatusFromEvent(message);
|
|
23
|
-
if (status !== null) {
|
|
24
|
-
this.authService.getLogger().verbose(`BroadcastService - ${message.eventType} results in setting inProgress to ${status}`);
|
|
25
|
-
this._inProgress.next(status);
|
|
26
|
-
}
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
MsalBroadcastServiceb2c.ɵfac = function MsalBroadcastServiceb2c_Factory(t) { return new (t || MsalBroadcastServiceb2c)(i0.ɵɵinject(MSAL_INSTANCE), i0.ɵɵinject(i1.MsalServiceb2c)); };
|
|
31
|
-
MsalBroadcastServiceb2c.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: MsalBroadcastServiceb2c, factory: MsalBroadcastServiceb2c.ɵfac });
|
|
32
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MsalBroadcastServiceb2c, [{
|
|
33
|
-
type: Injectable
|
|
34
|
-
}], function () { return [{ type: undefined, decorators: [{
|
|
35
|
-
type: Inject,
|
|
36
|
-
args: [MSAL_INSTANCE]
|
|
37
|
-
}] }, { type: i1.MsalServiceb2c }]; }, null); })();
|
|
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 { BehaviorSubject, Subject } from 'rxjs';
|
|
7
|
+
import { MSAL_INSTANCE } from '@azure/msal-angular';
|
|
8
|
+
import { EventMessageUtils, InteractionStatus } from '@azure/msal-browser';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
import * as i1 from "./auth-msalServiceb2c.service.";
|
|
11
|
+
export class MsalBroadcastServiceb2c {
|
|
12
|
+
constructor(msalInstance, authService) {
|
|
13
|
+
this.msalInstance = msalInstance;
|
|
14
|
+
this.authService = authService;
|
|
15
|
+
this._msalSubject = new Subject();
|
|
16
|
+
this.msalSubject$ = this._msalSubject.asObservable();
|
|
17
|
+
// InProgress as BehaviorSubject so most recent inProgress state will be available upon subscription
|
|
18
|
+
this._inProgress = new BehaviorSubject(InteractionStatus.Startup);
|
|
19
|
+
this.inProgress$ = this._inProgress.asObservable();
|
|
20
|
+
this.msalInstance.addEventCallback((message) => {
|
|
21
|
+
this._msalSubject.next(message);
|
|
22
|
+
const status = EventMessageUtils.getInteractionStatusFromEvent(message);
|
|
23
|
+
if (status !== null) {
|
|
24
|
+
this.authService.getLogger().verbose(`BroadcastService - ${message.eventType} results in setting inProgress to ${status}`);
|
|
25
|
+
this._inProgress.next(status);
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
MsalBroadcastServiceb2c.ɵfac = function MsalBroadcastServiceb2c_Factory(t) { return new (t || MsalBroadcastServiceb2c)(i0.ɵɵinject(MSAL_INSTANCE), i0.ɵɵinject(i1.MsalServiceb2c)); };
|
|
31
|
+
MsalBroadcastServiceb2c.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: MsalBroadcastServiceb2c, factory: MsalBroadcastServiceb2c.ɵfac });
|
|
32
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MsalBroadcastServiceb2c, [{
|
|
33
|
+
type: Injectable
|
|
34
|
+
}], function () { return [{ type: undefined, decorators: [{
|
|
35
|
+
type: Inject,
|
|
36
|
+
args: [MSAL_INSTANCE]
|
|
37
|
+
}] }, { type: i1.MsalServiceb2c }]; }, null); })();
|
|
38
38
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1tc2FsQnJvYWRjYXN0U2VydmljZWIyYy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYXV0aC9zcmMvbGliL3NoYXJlZC9hdXRoLW1zYWxCcm9hZGNhc3RTZXJ2aWNlYjJjLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBRUgsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDNUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBZ0IsaUJBQWlCLEVBQTRCLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7OztBQUluSCxNQUFNLE9BQU8sdUJBQXVCO0lBTWhDLFlBQ21DLFlBQXNDLEVBQzdELFdBQTJCO1FBREosaUJBQVksR0FBWixZQUFZLENBQTBCO1FBQzdELGdCQUFXLEdBQVgsV0FBVyxDQUFnQjtRQUVuQyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksT0FBTyxFQUFnQixDQUFDO1FBQ2hELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUVyRCxvR0FBb0c7UUFDcEcsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBb0IsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDckYsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBRW5ELElBQUksQ0FBQyxZQUFZLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxPQUFxQixFQUFFLEVBQUU7WUFDekQsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDaEMsTUFBTSxNQUFNLEdBQUcsaUJBQWlCLENBQUMsNkJBQTZCLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDeEUsSUFBSSxNQUFNLEtBQUssSUFBSSxFQUFFO2dCQUNqQixJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxzQkFBc0IsT0FBTyxDQUFDLFNBQVMscUNBQXFDLE1BQU0sRUFBRSxDQUFDLENBQUM7Z0JBQzNILElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQ2pDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzs4RkF6QlEsdUJBQXVCLGNBT3BCLGFBQWE7NkVBUGhCLHVCQUF1QixXQUF2Qix1QkFBdUI7dUZBQXZCLHVCQUF1QjtjQURuQyxVQUFVOztzQkFRRixNQUFNO3VCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSBNaWNyb3NvZnQgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE1TQUxfSU5TVEFOQ0UgfSBmcm9tICdAYXp1cmUvbXNhbC1hbmd1bGFyJztcbmltcG9ydCB7IEV2ZW50TWVzc2FnZSwgRXZlbnRNZXNzYWdlVXRpbHMsIElQdWJsaWNDbGllbnRBcHBsaWNhdGlvbiwgSW50ZXJhY3Rpb25TdGF0dXMgfSBmcm9tICdAYXp1cmUvbXNhbC1icm93c2VyJztcbmltcG9ydCB7IE1zYWxTZXJ2aWNlYjJjIH0gZnJvbSAnLi9hdXRoLW1zYWxTZXJ2aWNlYjJjLnNlcnZpY2UuJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE1zYWxCcm9hZGNhc3RTZXJ2aWNlYjJjIHtcbiAgICBwcml2YXRlIF9tc2FsU3ViamVjdDogU3ViamVjdDxFdmVudE1lc3NhZ2U+O1xuICAgIHB1YmxpYyBtc2FsU3ViamVjdCQ6IE9ic2VydmFibGU8RXZlbnRNZXNzYWdlPjtcbiAgICBwcml2YXRlIF9pblByb2dyZXNzOiBCZWhhdmlvclN1YmplY3Q8SW50ZXJhY3Rpb25TdGF0dXM+O1xuICAgIHB1YmxpYyBpblByb2dyZXNzJDogT2JzZXJ2YWJsZTxJbnRlcmFjdGlvblN0YXR1cz47XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChNU0FMX0lOU1RBTkNFKSBwcml2YXRlIG1zYWxJbnN0YW5jZTogSVB1YmxpY0NsaWVudEFwcGxpY2F0aW9uLFxuICAgICAgICBwcml2YXRlIGF1dGhTZXJ2aWNlOiBNc2FsU2VydmljZWIyY1xuICAgICkge1xuICAgICAgICB0aGlzLl9tc2FsU3ViamVjdCA9IG5ldyBTdWJqZWN0PEV2ZW50TWVzc2FnZT4oKTtcbiAgICAgICAgdGhpcy5tc2FsU3ViamVjdCQgPSB0aGlzLl9tc2FsU3ViamVjdC5hc09ic2VydmFibGUoKTtcblxuICAgICAgICAvLyBJblByb2dyZXNzIGFzIEJlaGF2aW9yU3ViamVjdCBzbyBtb3N0IHJlY2VudCBpblByb2dyZXNzIHN0YXRlIHdpbGwgYmUgYXZhaWxhYmxlIHVwb24gc3Vic2NyaXB0aW9uXG4gICAgICAgIHRoaXMuX2luUHJvZ3Jlc3MgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEludGVyYWN0aW9uU3RhdHVzPihJbnRlcmFjdGlvblN0YXR1cy5TdGFydHVwKTtcbiAgICAgICAgdGhpcy5pblByb2dyZXNzJCA9IHRoaXMuX2luUHJvZ3Jlc3MuYXNPYnNlcnZhYmxlKCk7XG5cbiAgICAgICAgdGhpcy5tc2FsSW5zdGFuY2UuYWRkRXZlbnRDYWxsYmFjaygobWVzc2FnZTogRXZlbnRNZXNzYWdlKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9tc2FsU3ViamVjdC5uZXh0KG1lc3NhZ2UpO1xuICAgICAgICAgICAgY29uc3Qgc3RhdHVzID0gRXZlbnRNZXNzYWdlVXRpbHMuZ2V0SW50ZXJhY3Rpb25TdGF0dXNGcm9tRXZlbnQobWVzc2FnZSk7XG4gICAgICAgICAgICBpZiAoc3RhdHVzICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hdXRoU2VydmljZS5nZXRMb2dnZXIoKS52ZXJib3NlKGBCcm9hZGNhc3RTZXJ2aWNlIC0gJHttZXNzYWdlLmV2ZW50VHlwZX0gcmVzdWx0cyBpbiBzZXR0aW5nIGluUHJvZ3Jlc3MgdG8gJHtzdGF0dXN9YCk7XG4gICAgICAgICAgICAgICAgdGhpcy5faW5Qcm9ncmVzcy5uZXh0KHN0YXR1cyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
|