@igo2/auth 1.15.4 → 16.0.0-rc.1
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 → esm2022}/igo2-auth.mjs +4 -4
- package/esm2022/lib/auth-form/auth-facebook.component.mjs +67 -0
- package/esm2022/lib/auth-form/auth-form.component.mjs +286 -0
- package/esm2022/lib/auth-form/auth-google.component.mjs +108 -0
- package/esm2022/lib/auth-form/auth-intern.component.mjs +134 -0
- package/esm2022/lib/auth-form/auth-microsoft.component.mjs +107 -0
- package/esm2022/lib/auth-form/auth-microsoftb2c.component.mjs +105 -0
- package/{esm2020 → esm2022}/lib/auth-form/index.mjs +5 -5
- package/{esm2020 → esm2022}/lib/auth-routing.module.mjs +24 -24
- package/{esm2020 → esm2022}/lib/auth.module.mjs +91 -91
- package/esm2022/lib/shared/admin.guard.mjs +39 -0
- package/esm2022/lib/shared/auth-microsoft.provider.mjs +86 -0
- package/esm2022/lib/shared/auth-msalBroadcastServiceb2c.service.mjs +47 -0
- package/esm2022/lib/shared/auth-msalServiceb2c.service..mjs +85 -0
- package/esm2022/lib/shared/auth.guard.mjs +38 -0
- package/esm2022/lib/shared/auth.interceptor.mjs +164 -0
- package/esm2022/lib/shared/auth.interface.mjs +2 -0
- package/esm2022/lib/shared/auth.service.mjs +168 -0
- package/esm2022/lib/shared/logged.guard.mjs +38 -0
- package/esm2022/lib/shared/profils.guard.mjs +43 -0
- package/esm2022/lib/shared/protected.directive.mjs +20 -0
- package/{esm2020 → esm2022}/lib/shared/storage.interface.mjs +2 -2
- package/esm2022/lib/shared/storage.service.mjs +99 -0
- package/esm2022/lib/shared/token.service.mjs +48 -0
- package/{esm2020 → esm2022}/public_api.mjs +19 -19
- package/{fesm2020 → fesm2022}/igo2-auth.mjs +1573 -1477
- package/fesm2022/igo2-auth.mjs.map +1 -0
- 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 +17 -18
- package/lib/shared/token.service.d.ts +15 -15
- package/locale/en.auth.json +28 -0
- package/locale/fr.auth.json +32 -0
- package/package.json +18 -25
- package/public_api.d.ts +15 -15
- package/esm2020/lib/auth-form/auth-facebook.component.mjs +0 -61
- package/esm2020/lib/auth-form/auth-form.component.mjs +0 -277
- package/esm2020/lib/auth-form/auth-google.component.mjs +0 -99
- package/esm2020/lib/auth-form/auth-intern.component.mjs +0 -119
- package/esm2020/lib/auth-form/auth-microsoft.component.mjs +0 -94
- package/esm2020/lib/auth-form/auth-microsoftb2c.component.mjs +0 -93
- package/esm2020/lib/shared/admin.guard.mjs +0 -33
- package/esm2020/lib/shared/auth-microsoft.provider.mjs +0 -84
- package/esm2020/lib/shared/auth-msalBroadcastServiceb2c.service.mjs +0 -38
- package/esm2020/lib/shared/auth-msalServiceb2c.service..mjs +0 -80
- package/esm2020/lib/shared/auth.guard.mjs +0 -32
- package/esm2020/lib/shared/auth.interceptor.mjs +0 -155
- package/esm2020/lib/shared/auth.interface.mjs +0 -2
- package/esm2020/lib/shared/auth.service.mjs +0 -158
- package/esm2020/lib/shared/logged.guard.mjs +0 -32
- package/esm2020/lib/shared/profils.guard.mjs +0 -37
- package/esm2020/lib/shared/protected.directive.mjs +0 -19
- package/esm2020/lib/shared/storage.service.mjs +0 -91
- package/esm2020/lib/shared/token.service.mjs +0 -47
- package/fesm2015/igo2-auth.mjs +0 -1655
- package/fesm2015/igo2-auth.mjs.map +0 -1
- package/fesm2020/igo2-auth.mjs.map +0 -1
|
@@ -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
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
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
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
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
|
+
static ɵfac = function IgoAuthModule_Factory(t) { return new (t || IgoAuthModule)(); };
|
|
42
|
+
static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: IgoAuthModule });
|
|
43
|
+
static ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule,
|
|
44
|
+
ReactiveFormsModule,
|
|
45
|
+
MatFormFieldModule,
|
|
46
|
+
MatInputModule,
|
|
47
|
+
MatIconModule,
|
|
48
|
+
MatButtonModule,
|
|
49
|
+
IgoLanguageModule,
|
|
50
|
+
MsalModule] });
|
|
51
|
+
}
|
|
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
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9hdXRoL3NyYy9saWIvYXV0aC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVqRCxPQUFPLEVBQUUsY0FBYyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRS9ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzlELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUV4RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQzs7QUF3QnBGLE1BQU0sT0FBTyxhQUFhO0lBQ3hCLE1BQU0sQ0FBQyxPQUFPO1FBQ1osT0FBTztZQUNMLFFBQVEsRUFBRSxhQUFhO1lBQ3ZCLFNBQVMsRUFBRTtnQkFDVDtvQkFDRSxPQUFPLEVBQUUsaUJBQWlCO29CQUMxQixRQUFRLEVBQUUsZUFBZTtvQkFDekIsS0FBSyxFQUFFLElBQUk7aUJBQ1o7Z0JBQ0Q7b0JBQ0UsT0FBTyxFQUFFLGNBQWM7b0JBQ3ZCLFFBQVEsRUFBRSxrQkFBa0I7aUJBQzdCO2dCQUNELEdBQUcsb0JBQW9CLENBQUMsS0FBSyxDQUFDO2dCQUM5QixHQUFHLG9CQUFvQixDQUFDLEtBQUssQ0FBQzthQUMvQjtTQUNGLENBQUM7SUFDSixDQUFDO3VFQWxCVSxhQUFhOzREQUFiLGFBQWE7Z0VBcEJ0QixZQUFZO1lBQ1osbUJBQW1CO1lBQ25CLGtCQUFrQjtZQUNsQixjQUFjO1lBQ2QsYUFBYTtZQUNiLGVBQWU7WUFDZixpQkFBaUI7WUFDakIsVUFBVTs7dUZBYUQsYUFBYTtjQXRCekIsUUFBUTtlQUFDO2dCQUNSLE9BQU8sRUFBRTtvQkFDUCxZQUFZO29CQUNaLG1CQUFtQjtvQkFDbkIsa0JBQWtCO29CQUNsQixjQUFjO29CQUNkLGFBQWE7b0JBQ2IsZUFBZTtvQkFDZixpQkFBaUI7b0JBQ2pCLFVBQVU7aUJBQ1g7Z0JBQ0QsWUFBWSxFQUFFO29CQUNaLGlCQUFpQjtvQkFDakIsbUJBQW1CO29CQUNuQixtQkFBbUI7b0JBQ25CLHFCQUFxQjtvQkFDckIsc0JBQXNCO29CQUN0Qix5QkFBeUI7b0JBQ3pCLGtCQUFrQjtpQkFDbkI7Z0JBQ0QsT0FBTyxFQUFFLENBQUMsaUJBQWlCLEVBQUUsa0JBQWtCLENBQUM7YUFDakQ7O3dGQUNZLGFBQWEsbUJBVnRCLGlCQUFpQjtRQUNqQixtQkFBbUI7UUFDbkIsbUJBQW1CO1FBQ25CLHFCQUFxQjtRQUNyQixzQkFBc0I7UUFDdEIseUJBQXlCO1FBQ3pCLGtCQUFrQixhQWhCbEIsWUFBWTtRQUNaLG1CQUFtQjtRQUNuQixrQkFBa0I7UUFDbEIsY0FBYztRQUNkLGFBQWE7UUFDYixlQUFlO1FBQ2YsaUJBQWlCO1FBQ2pCLFVBQVUsYUFXRixpQkFBaUIsRUFBRSxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgTW9kdWxlV2l0aFByb3ZpZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEhUVFBfSU5URVJDRVBUT1JTIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHsgTXNhbE1vZHVsZSB9IGZyb20gJ0BhenVyZS9tc2FsLWFuZ3VsYXInO1xuXG5pbXBvcnQgeyBTdG9yYWdlU2VydmljZSwgSWdvTGFuZ3VhZ2VNb2R1bGUgfSBmcm9tICdAaWdvMi9jb3JlJztcblxuaW1wb3J0IHsgQXV0aFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi9zaGFyZWQvc3RvcmFnZS5zZXJ2aWNlJztcbmltcG9ydCB7IFByb3RlY3RlZERpcmVjdGl2ZSB9IGZyb20gJy4vc2hhcmVkL3Byb3RlY3RlZC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQXV0aEludGVyY2VwdG9yIH0gZnJvbSAnLi9zaGFyZWQvYXV0aC5pbnRlcmNlcHRvcic7XG5pbXBvcnQgeyBwcm92aWRlQXV0aE1pY3Jvc29mdCB9IGZyb20gJy4vc2hhcmVkL2F1dGgtbWljcm9zb2Z0LnByb3ZpZGVyJztcblxuaW1wb3J0IHsgQXV0aEludGVybkNvbXBvbmVudCB9IGZyb20gJy4vYXV0aC1mb3JtL2F1dGgtaW50ZXJuLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBdXRoRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vYXV0aC1mb3JtL2F1dGgtZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXV0aEdvb2dsZUNvbXBvbmVudCB9IGZyb20gJy4vYXV0aC1mb3JtL2F1dGgtZ29vZ2xlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBdXRoRmFjZWJvb2tDb21wb25lbnQgfSBmcm9tICcuL2F1dGgtZm9ybS9hdXRoLWZhY2Vib29rLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBdXRoTWljcm9zb2Z0Q29tcG9uZW50IH0gZnJvbSAnLi9hdXRoLWZvcm0vYXV0aC1taWNyb3NvZnQuY29tcG9uZW50JztcbmltcG9ydCB7IEF1dGhNaWNyb3NvZnRiMmNDb21wb25lbnQgfSBmcm9tICcuL2F1dGgtZm9ybS9hdXRoLW1pY3Jvc29mdGIyYy5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgIE1hdElucHV0TW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIElnb0xhbmd1YWdlTW9kdWxlLFxuICAgIE1zYWxNb2R1bGVcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgQXV0aEZvcm1Db21wb25lbnQsXG4gICAgQXV0aEdvb2dsZUNvbXBvbmVudCxcbiAgICBBdXRoSW50ZXJuQ29tcG9uZW50LFxuICAgIEF1dGhGYWNlYm9va0NvbXBvbmVudCxcbiAgICBBdXRoTWljcm9zb2Z0Q29tcG9uZW50LFxuICAgIEF1dGhNaWNyb3NvZnRiMmNDb21wb25lbnQsXG4gICAgUHJvdGVjdGVkRGlyZWN0aXZlXG4gIF0sXG4gIGV4cG9ydHM6IFtBdXRoRm9ybUNvbXBvbmVudCwgUHJvdGVjdGVkRGlyZWN0aXZlXVxufSlcbmV4cG9ydCBjbGFzcyBJZ29BdXRoTW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3QoKTogTW9kdWxlV2l0aFByb3ZpZGVyczxJZ29BdXRoTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBJZ29BdXRoTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBIVFRQX0lOVEVSQ0VQVE9SUyxcbiAgICAgICAgICB1c2VDbGFzczogQXV0aEludGVyY2VwdG9yLFxuICAgICAgICAgIG11bHRpOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBTdG9yYWdlU2VydmljZSxcbiAgICAgICAgICB1c2VDbGFzczogQXV0aFN0b3JhZ2VTZXJ2aWNlXG4gICAgICAgIH0sXG4gICAgICAgIC4uLnByb3ZpZGVBdXRoTWljcm9zb2Z0KCdhZGQnKSxcbiAgICAgICAgLi4ucHJvdmlkZUF1dGhNaWNyb3NvZnQoJ2IyYycpXG4gICAgICBdXG4gICAgfTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { Router } from '@angular/router';
|
|
3
|
+
import { ConfigService } from '@igo2/core';
|
|
4
|
+
import { AuthService } from './auth.service';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "./auth.service";
|
|
7
|
+
import * as i2 from "@igo2/core";
|
|
8
|
+
import * as i3 from "@angular/router";
|
|
9
|
+
export class AdminGuard {
|
|
10
|
+
authService;
|
|
11
|
+
config;
|
|
12
|
+
router;
|
|
13
|
+
constructor(authService, config, router) {
|
|
14
|
+
this.authService = authService;
|
|
15
|
+
this.config = config;
|
|
16
|
+
this.router = router;
|
|
17
|
+
}
|
|
18
|
+
canActivate(route, state) {
|
|
19
|
+
const token = this.authService.decodeToken();
|
|
20
|
+
if (token && token.user && token.user.isAdmin) {
|
|
21
|
+
return true;
|
|
22
|
+
}
|
|
23
|
+
this.authService.redirectUrl = state.url;
|
|
24
|
+
const authConfig = this.config.getConfig('auth');
|
|
25
|
+
if (authConfig && authConfig.loginRoute) {
|
|
26
|
+
this.router.navigateByUrl(authConfig.loginRoute);
|
|
27
|
+
}
|
|
28
|
+
return false;
|
|
29
|
+
}
|
|
30
|
+
static ɵfac = function AdminGuard_Factory(t) { return new (t || AdminGuard)(i0.ɵɵinject(i1.AuthService), i0.ɵɵinject(i2.ConfigService), i0.ɵɵinject(i3.Router)); };
|
|
31
|
+
static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: AdminGuard, factory: AdminGuard.ɵfac, providedIn: 'root' });
|
|
32
|
+
}
|
|
33
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AdminGuard, [{
|
|
34
|
+
type: Injectable,
|
|
35
|
+
args: [{
|
|
36
|
+
providedIn: 'root'
|
|
37
|
+
}]
|
|
38
|
+
}], function () { return [{ type: i1.AuthService }, { type: i2.ConfigService }, { type: i3.Router }]; }, null); })();
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtaW4uZ3VhcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hdXRoL3NyYy9saWIvc2hhcmVkL2FkbWluLmd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUNMLE1BQU0sRUFHUCxNQUFNLGlCQUFpQixDQUFDO0FBRXpCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDM0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7OztBQUs3QyxNQUFNLE9BQU8sVUFBVTtJQUVYO0lBQ0E7SUFDQTtJQUhWLFlBQ1UsV0FBd0IsRUFDeEIsTUFBcUIsRUFDckIsTUFBYztRQUZkLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLFdBQU0sR0FBTixNQUFNLENBQWU7UUFDckIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtJQUNyQixDQUFDO0lBRUosV0FBVyxDQUFDLEtBQTZCLEVBQUUsS0FBMEI7UUFDbkUsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUM3QyxJQUFJLEtBQUssSUFBSSxLQUFLLENBQUMsSUFBSSxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQzdDLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFFRCxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDO1FBRXpDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2pELElBQUksVUFBVSxJQUFJLFVBQVUsQ0FBQyxVQUFVLEVBQUU7WUFDdkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQ2xEO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO29FQXJCVSxVQUFVO2dFQUFWLFVBQVUsV0FBVixVQUFVLG1CQUZULE1BQU07O3VGQUVQLFVBQVU7Y0FIdEIsVUFBVTtlQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgUm91dGVyLFxuICBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LFxuICBSb3V0ZXJTdGF0ZVNuYXBzaG90XG59IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi9hdXRoLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBBZG1pbkd1YXJkIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb25maWc6IENvbmZpZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlclxuICApIHt9XG5cbiAgY2FuQWN0aXZhdGUocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90KSB7XG4gICAgY29uc3QgdG9rZW4gPSB0aGlzLmF1dGhTZXJ2aWNlLmRlY29kZVRva2VuKCk7XG4gICAgaWYgKHRva2VuICYmIHRva2VuLnVzZXIgJiYgdG9rZW4udXNlci5pc0FkbWluKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICB0aGlzLmF1dGhTZXJ2aWNlLnJlZGlyZWN0VXJsID0gc3RhdGUudXJsO1xuXG4gICAgY29uc3QgYXV0aENvbmZpZyA9IHRoaXMuY29uZmlnLmdldENvbmZpZygnYXV0aCcpO1xuICAgIGlmIChhdXRoQ29uZmlnICYmIGF1dGhDb25maWcubG9naW5Sb3V0ZSkge1xuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybChhdXRoQ29uZmlnLmxvZ2luUm91dGUpO1xuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,86 @@
|
|
|
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 =
|
|
9
|
+
msConf?.authority || 'https://login.microsoftonline.com/organizations';
|
|
10
|
+
const myMsalObj = new PublicClientApplication({
|
|
11
|
+
auth: msConf,
|
|
12
|
+
cache: {
|
|
13
|
+
cacheLocation: 'sessionStorage'
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
return myMsalObj;
|
|
17
|
+
}
|
|
18
|
+
export function MSALConfigFactoryb2c(config) {
|
|
19
|
+
const msConf = config.getConfig('auth.microsoftb2c.browserAuthOptions');
|
|
20
|
+
msConf.redirectUri = msConf?.redirectUri || window.location.href;
|
|
21
|
+
msConf.authority =
|
|
22
|
+
msConf?.authority || 'https://login.microsoftonline.com/organizations';
|
|
23
|
+
const myMsalObj = new PublicClientApplication({
|
|
24
|
+
auth: msConf,
|
|
25
|
+
cache: {
|
|
26
|
+
cacheLocation: 'sessionStorage'
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
return myMsalObj;
|
|
30
|
+
}
|
|
31
|
+
export function MSALAngularConfigFactory(config) {
|
|
32
|
+
const msConf = config.getConfig('auth.microsoft');
|
|
33
|
+
return {
|
|
34
|
+
interactionType: InteractionType.Popup,
|
|
35
|
+
authRequest: {
|
|
36
|
+
scopes: ['user.read'],
|
|
37
|
+
loginHint: 'todo'
|
|
38
|
+
},
|
|
39
|
+
type: 'add'
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
export function MSALAngularConfigFactoryb2c(config) {
|
|
43
|
+
const msConf = config.getConfig('auth.microsoftb2c.browserAuthOptions');
|
|
44
|
+
return {
|
|
45
|
+
interactionType: InteractionType.Popup,
|
|
46
|
+
authRequest: {
|
|
47
|
+
scopes: [msConf?.clientId]
|
|
48
|
+
},
|
|
49
|
+
type: 'b2c'
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
export function provideAuthMicrosoft(type) {
|
|
53
|
+
if (type === 'b2c') {
|
|
54
|
+
return [
|
|
55
|
+
{
|
|
56
|
+
provide: MSAL_INSTANCE,
|
|
57
|
+
useFactory: MSALConfigFactoryb2c,
|
|
58
|
+
deps: [ConfigService]
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
provide: MSAL_GUARD_CONFIG,
|
|
62
|
+
useFactory: MSALAngularConfigFactoryb2c,
|
|
63
|
+
deps: [ConfigService],
|
|
64
|
+
multi: true
|
|
65
|
+
},
|
|
66
|
+
MsalServiceb2c
|
|
67
|
+
];
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
return [
|
|
71
|
+
{
|
|
72
|
+
provide: MSAL_INSTANCE,
|
|
73
|
+
useFactory: MSALConfigFactory,
|
|
74
|
+
deps: [ConfigService]
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
provide: MSAL_GUARD_CONFIG,
|
|
78
|
+
useFactory: MSALAngularConfigFactory,
|
|
79
|
+
deps: [ConfigService],
|
|
80
|
+
multi: true
|
|
81
|
+
},
|
|
82
|
+
MsalService
|
|
83
|
+
];
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1taWNyb3NvZnQucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hdXRoL3NyYy9saWIvc2hhcmVkL2F1dGgtbWljcm9zb2Z0LnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsYUFBYSxFQUNiLFdBQVcsRUFDWixNQUFNLHFCQUFxQixDQUFDO0FBRTdCLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUUvRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBUzNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVoRSxNQUFNLFVBQVUsaUJBQWlCLENBQy9CLE1BQXFCO0lBRXJCLE1BQU0sTUFBTSxHQUE4QixNQUFNLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFFN0UsTUFBTSxDQUFDLFdBQVcsR0FBRyxNQUFNLEVBQUUsV0FBVyxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO0lBQ2pFLE1BQU0sQ0FBQyxTQUFTO1FBQ2QsTUFBTSxFQUFFLFNBQVMsSUFBSSxpREFBaUQsQ0FBQztJQUV6RSxNQUFNLFNBQVMsR0FBRyxJQUFJLHVCQUF1QixDQUFDO1FBQzVDLElBQUksRUFBRSxNQUFNO1FBQ1osS0FBSyxFQUFFO1lBQ0wsYUFBYSxFQUFFLGdCQUFnQjtTQUNoQztLQUNGLENBQUMsQ0FBQztJQUVILE9BQU8sU0FBUyxDQUFDO0FBQ25CLENBQUM7QUFFRCxNQUFNLFVBQVUsb0JBQW9CLENBQ2xDLE1BQXFCO0lBRXJCLE1BQU0sTUFBTSxHQUE4QixNQUFNLENBQUMsU0FBUyxDQUN4RCxzQ0FBc0MsQ0FDdkMsQ0FBQztJQUNGLE1BQU0sQ0FBQyxXQUFXLEdBQUcsTUFBTSxFQUFFLFdBQVcsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztJQUNqRSxNQUFNLENBQUMsU0FBUztRQUNkLE1BQU0sRUFBRSxTQUFTLElBQUksaURBQWlELENBQUM7SUFFekUsTUFBTSxTQUFTLEdBQUcsSUFBSSx1QkFBdUIsQ0FBQztRQUM1QyxJQUFJLEVBQUUsTUFBTTtRQUNaLEtBQUssRUFBRTtZQUNMLGFBQWEsRUFBRSxnQkFBZ0I7U0FDaEM7S0FDRixDQUFDLENBQUM7SUFFSCxPQUFPLFNBQVMsQ0FBQztBQUNuQixDQUFDO0FBRUQsTUFBTSxVQUFVLHdCQUF3QixDQUN0QyxNQUFxQjtJQUVyQixNQUFNLE1BQU0sR0FBeUIsTUFBTSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBRXhFLE9BQU87UUFDTCxlQUFlLEVBQUUsZUFBZSxDQUFDLEtBQUs7UUFDdEMsV0FBVyxFQUFFO1lBQ1gsTUFBTSxFQUFFLENBQUMsV0FBVyxDQUFDO1lBQ3JCLFNBQVMsRUFBRSxNQUFNO1NBQ2xCO1FBQ0QsSUFBSSxFQUFFLEtBQUs7S0FDWixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSwyQkFBMkIsQ0FDekMsTUFBcUI7SUFFckIsTUFBTSxNQUFNLEdBQThCLE1BQU0sQ0FBQyxTQUFTLENBQ3hELHNDQUFzQyxDQUN2QyxDQUFDO0lBRUYsT0FBTztRQUNMLGVBQWUsRUFBRSxlQUFlLENBQUMsS0FBSztRQUN0QyxXQUFXLEVBQUU7WUFDWCxNQUFNLEVBQUUsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDO1NBQzNCO1FBQ0QsSUFBSSxFQUFFLEtBQUs7S0FDWixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxvQkFBb0IsQ0FBQyxJQUFhO0lBQ2hELElBQUksSUFBSSxLQUFLLEtBQUssRUFBRTtRQUNsQixPQUFPO1lBQ0w7Z0JBQ0UsT0FBTyxFQUFFLGFBQWE7Z0JBQ3RCLFVBQVUsRUFBRSxvQkFBb0I7Z0JBQ2hDLElBQUksRUFBRSxDQUFDLGFBQWEsQ0FBQzthQUN0QjtZQUNEO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFVBQVUsRUFBRSwyQkFBMkI7Z0JBQ3ZDLElBQUksRUFBRSxDQUFDLGFBQWEsQ0FBQztnQkFDckIsS0FBSyxFQUFFLElBQUk7YUFDWjtZQUNELGNBQWM7U0FDZixDQUFDO0tBQ0g7U0FBTTtRQUNMLE9BQU87WUFDTDtnQkFDRSxPQUFPLEVBQUUsYUFBYTtnQkFDdEIsVUFBVSxFQUFFLGlCQUFpQjtnQkFDN0IsSUFBSSxFQUFFLENBQUMsYUFBYSxDQUFDO2FBQ3RCO1lBQ0Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsVUFBVSxFQUFFLHdCQUF3QjtnQkFDcEMsSUFBSSxFQUFFLENBQUMsYUFBYSxDQUFDO2dCQUNyQixLQUFLLEVBQUUsSUFBSTthQUNaO1lBQ0QsV0FBVztTQUNaLENBQUM7S0FDSDtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBNU0FMX0dVQVJEX0NPTkZJRyxcbiAgTVNBTF9JTlNUQU5DRSxcbiAgTXNhbFNlcnZpY2Vcbn0gZnJvbSAnQGF6dXJlL21zYWwtYW5ndWxhcic7XG5cbmltcG9ydCB7IFB1YmxpY0NsaWVudEFwcGxpY2F0aW9uLCBJbnRlcmFjdGlvblR5cGUgfSBmcm9tICdAYXp1cmUvbXNhbC1icm93c2VyJztcblxuaW1wb3J0IHsgQ29uZmlnU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xuXG5pbXBvcnQgeyBCcm93c2VyQXV0aE9wdGlvbnMgfSBmcm9tICdAYXp1cmUvbXNhbC1icm93c2VyJztcblxuaW1wb3J0IHtcbiAgQXV0aE1pY3Jvc29mdE9wdGlvbnMsXG4gIE1TUE1zYWxHdWFyZENvbmZpZ3VyYXRpb25cbn0gZnJvbSAnLi9hdXRoLmludGVyZmFjZSc7XG5cbmltcG9ydCB7IE1zYWxTZXJ2aWNlYjJjIH0gZnJvbSAnLi9hdXRoLW1zYWxTZXJ2aWNlYjJjLnNlcnZpY2UuJztcblxuZXhwb3J0IGZ1bmN0aW9uIE1TQUxDb25maWdGYWN0b3J5KFxuICBjb25maWc6IENvbmZpZ1NlcnZpY2Vcbik6IFB1YmxpY0NsaWVudEFwcGxpY2F0aW9uIHtcbiAgY29uc3QgbXNDb25mOiBCcm93c2VyQXV0aE9wdGlvbnMgfCBudWxsID0gY29uZmlnLmdldENvbmZpZygnYXV0aC5taWNyb3NvZnQnKTtcblxuICBtc0NvbmYucmVkaXJlY3RVcmkgPSBtc0NvbmY/LnJlZGlyZWN0VXJpIHx8IHdpbmRvdy5sb2NhdGlvbi5ocmVmO1xuICBtc0NvbmYuYXV0aG9yaXR5ID1cbiAgICBtc0NvbmY/LmF1dGhvcml0eSB8fCAnaHR0cHM6Ly9sb2dpbi5taWNyb3NvZnRvbmxpbmUuY29tL29yZ2FuaXphdGlvbnMnO1xuXG4gIGNvbnN0IG15TXNhbE9iaiA9IG5ldyBQdWJsaWNDbGllbnRBcHBsaWNhdGlvbih7XG4gICAgYXV0aDogbXNDb25mLFxuICAgIGNhY2hlOiB7XG4gICAgICBjYWNoZUxvY2F0aW9uOiAnc2Vzc2lvblN0b3JhZ2UnXG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gbXlNc2FsT2JqO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gTVNBTENvbmZpZ0ZhY3RvcnliMmMoXG4gIGNvbmZpZzogQ29uZmlnU2VydmljZVxuKTogUHVibGljQ2xpZW50QXBwbGljYXRpb24ge1xuICBjb25zdCBtc0NvbmY6IEJyb3dzZXJBdXRoT3B0aW9ucyB8IG51bGwgPSBjb25maWcuZ2V0Q29uZmlnKFxuICAgICdhdXRoLm1pY3Jvc29mdGIyYy5icm93c2VyQXV0aE9wdGlvbnMnXG4gICk7XG4gIG1zQ29uZi5yZWRpcmVjdFVyaSA9IG1zQ29uZj8ucmVkaXJlY3RVcmkgfHwgd2luZG93LmxvY2F0aW9uLmhyZWY7XG4gIG1zQ29uZi5hdXRob3JpdHkgPVxuICAgIG1zQ29uZj8uYXV0aG9yaXR5IHx8ICdodHRwczovL2xvZ2luLm1pY3Jvc29mdG9ubGluZS5jb20vb3JnYW5pemF0aW9ucyc7XG5cbiAgY29uc3QgbXlNc2FsT2JqID0gbmV3IFB1YmxpY0NsaWVudEFwcGxpY2F0aW9uKHtcbiAgICBhdXRoOiBtc0NvbmYsXG4gICAgY2FjaGU6IHtcbiAgICAgIGNhY2hlTG9jYXRpb246ICdzZXNzaW9uU3RvcmFnZSdcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiBteU1zYWxPYmo7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBNU0FMQW5ndWxhckNvbmZpZ0ZhY3RvcnkoXG4gIGNvbmZpZzogQ29uZmlnU2VydmljZVxuKTogTVNQTXNhbEd1YXJkQ29uZmlndXJhdGlvbiB7XG4gIGNvbnN0IG1zQ29uZjogQXV0aE1pY3Jvc29mdE9wdGlvbnMgPSBjb25maWcuZ2V0Q29uZmlnKCdhdXRoLm1pY3Jvc29mdCcpO1xuXG4gIHJldHVybiB7XG4gICAgaW50ZXJhY3Rpb25UeXBlOiBJbnRlcmFjdGlvblR5cGUuUG9wdXAsXG4gICAgYXV0aFJlcXVlc3Q6IHtcbiAgICAgIHNjb3BlczogWyd1c2VyLnJlYWQnXSxcbiAgICAgIGxvZ2luSGludDogJ3RvZG8nXG4gICAgfSxcbiAgICB0eXBlOiAnYWRkJ1xuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gTVNBTEFuZ3VsYXJDb25maWdGYWN0b3J5YjJjKFxuICBjb25maWc6IENvbmZpZ1NlcnZpY2Vcbik6IE1TUE1zYWxHdWFyZENvbmZpZ3VyYXRpb24ge1xuICBjb25zdCBtc0NvbmY6IEJyb3dzZXJBdXRoT3B0aW9ucyB8IG51bGwgPSBjb25maWcuZ2V0Q29uZmlnKFxuICAgICdhdXRoLm1pY3Jvc29mdGIyYy5icm93c2VyQXV0aE9wdGlvbnMnXG4gICk7XG5cbiAgcmV0dXJuIHtcbiAgICBpbnRlcmFjdGlvblR5cGU6IEludGVyYWN0aW9uVHlwZS5Qb3B1cCxcbiAgICBhdXRoUmVxdWVzdDoge1xuICAgICAgc2NvcGVzOiBbbXNDb25mPy5jbGllbnRJZF1cbiAgICB9LFxuICAgIHR5cGU6ICdiMmMnXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlQXV0aE1pY3Jvc29mdCh0eXBlPzogc3RyaW5nKSB7XG4gIGlmICh0eXBlID09PSAnYjJjJykge1xuICAgIHJldHVybiBbXG4gICAgICB7XG4gICAgICAgIHByb3ZpZGU6IE1TQUxfSU5TVEFOQ0UsXG4gICAgICAgIHVzZUZhY3Rvcnk6IE1TQUxDb25maWdGYWN0b3J5YjJjLFxuICAgICAgICBkZXBzOiBbQ29uZmlnU2VydmljZV1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHByb3ZpZGU6IE1TQUxfR1VBUkRfQ09ORklHLFxuICAgICAgICB1c2VGYWN0b3J5OiBNU0FMQW5ndWxhckNvbmZpZ0ZhY3RvcnliMmMsXG4gICAgICAgIGRlcHM6IFtDb25maWdTZXJ2aWNlXSxcbiAgICAgICAgbXVsdGk6IHRydWVcbiAgICAgIH0sXG4gICAgICBNc2FsU2VydmljZWIyY1xuICAgIF07XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIHtcbiAgICAgICAgcHJvdmlkZTogTVNBTF9JTlNUQU5DRSxcbiAgICAgICAgdXNlRmFjdG9yeTogTVNBTENvbmZpZ0ZhY3RvcnksXG4gICAgICAgIGRlcHM6IFtDb25maWdTZXJ2aWNlXVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgcHJvdmlkZTogTVNBTF9HVUFSRF9DT05GSUcsXG4gICAgICAgIHVzZUZhY3Rvcnk6IE1TQUxBbmd1bGFyQ29uZmlnRmFjdG9yeSxcbiAgICAgICAgZGVwczogW0NvbmZpZ1NlcnZpY2VdLFxuICAgICAgICBtdWx0aTogdHJ1ZVxuICAgICAgfSxcbiAgICAgIE1zYWxTZXJ2aWNlXG4gICAgXTtcbiAgfVxufVxuIl19
|
|
@@ -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 { BehaviorSubject, Subject } from 'rxjs';
|
|
7
|
+
import { MSAL_INSTANCE } from '@azure/msal-angular';
|
|
8
|
+
import { EventMessageUtils, InteractionStatus } from '@azure/msal-browser';
|
|
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 = function MsalBroadcastServiceb2c_Factory(t) { return new (t || MsalBroadcastServiceb2c)(i0.ɵɵinject(MSAL_INSTANCE), i0.ɵɵinject(i1.MsalServiceb2c)); };
|
|
39
|
+
static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: MsalBroadcastServiceb2c, factory: MsalBroadcastServiceb2c.ɵfac });
|
|
40
|
+
}
|
|
41
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MsalBroadcastServiceb2c, [{
|
|
42
|
+
type: Injectable
|
|
43
|
+
}], function () { return [{ type: undefined, decorators: [{
|
|
44
|
+
type: Inject,
|
|
45
|
+
args: [MSAL_INSTANCE]
|
|
46
|
+
}] }, { type: i1.MsalServiceb2c }]; }, null); })();
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1tc2FsQnJvYWRjYXN0U2VydmljZWIyYy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYXV0aC9zcmMvbGliL3NoYXJlZC9hdXRoLW1zYWxCcm9hZGNhc3RTZXJ2aWNlYjJjLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBRUgsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDNUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFFTCxpQkFBaUIsRUFFakIsaUJBQWlCLEVBQ2xCLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7QUFHaEUsTUFBTSxPQUFPLHVCQUF1QjtJQU9EO0lBQ3ZCO0lBUEYsWUFBWSxDQUF3QjtJQUNyQyxZQUFZLENBQTJCO0lBQ3RDLFdBQVcsQ0FBcUM7SUFDakQsV0FBVyxDQUFnQztJQUVsRCxZQUNpQyxZQUFzQyxFQUM3RCxXQUEyQjtRQURKLGlCQUFZLEdBQVosWUFBWSxDQUEwQjtRQUM3RCxnQkFBVyxHQUFYLFdBQVcsQ0FBZ0I7UUFFbkMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLE9BQU8sRUFBZ0IsQ0FBQztRQUNoRCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFckQsb0dBQW9HO1FBQ3BHLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxlQUFlLENBQ3BDLGlCQUFpQixDQUFDLE9BQU8sQ0FDMUIsQ0FBQztRQUNGLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUVuRCxJQUFJLENBQUMsWUFBWSxDQUFDLGdCQUFnQixDQUFDLENBQUMsT0FBcUIsRUFBRSxFQUFFO1lBQzNELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2hDLE1BQU0sTUFBTSxHQUFHLGlCQUFpQixDQUFDLDZCQUE2QixDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3hFLElBQUksTUFBTSxLQUFLLElBQUksRUFBRTtnQkFDbkIsSUFBSSxDQUFDLFdBQVc7cUJBQ2IsU0FBUyxFQUFFO3FCQUNYLE9BQU8sQ0FDTixzQkFBc0IsT0FBTyxDQUFDLFNBQVMscUNBQXFDLE1BQU0sRUFBRSxDQUNyRixDQUFDO2dCQUNKLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQy9CO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO2lGQS9CVSx1QkFBdUIsY0FPeEIsYUFBYTtnRUFQWix1QkFBdUIsV0FBdkIsdUJBQXVCOzt1RkFBdkIsdUJBQXVCO2NBRG5DLFVBQVU7O3NCQVFOLE1BQU07dUJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTVNBTF9JTlNUQU5DRSB9IGZyb20gJ0BhenVyZS9tc2FsLWFuZ3VsYXInO1xuaW1wb3J0IHtcbiAgRXZlbnRNZXNzYWdlLFxuICBFdmVudE1lc3NhZ2VVdGlscyxcbiAgSVB1YmxpY0NsaWVudEFwcGxpY2F0aW9uLFxuICBJbnRlcmFjdGlvblN0YXR1c1xufSBmcm9tICdAYXp1cmUvbXNhbC1icm93c2VyJztcbmltcG9ydCB7IE1zYWxTZXJ2aWNlYjJjIH0gZnJvbSAnLi9hdXRoLW1zYWxTZXJ2aWNlYjJjLnNlcnZpY2UuJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE1zYWxCcm9hZGNhc3RTZXJ2aWNlYjJjIHtcbiAgcHJpdmF0ZSBfbXNhbFN1YmplY3Q6IFN1YmplY3Q8RXZlbnRNZXNzYWdlPjtcbiAgcHVibGljIG1zYWxTdWJqZWN0JDogT2JzZXJ2YWJsZTxFdmVudE1lc3NhZ2U+O1xuICBwcml2YXRlIF9pblByb2dyZXNzOiBCZWhhdmlvclN1YmplY3Q8SW50ZXJhY3Rpb25TdGF0dXM+O1xuICBwdWJsaWMgaW5Qcm9ncmVzcyQ6IE9ic2VydmFibGU8SW50ZXJhY3Rpb25TdGF0dXM+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoTVNBTF9JTlNUQU5DRSkgcHJpdmF0ZSBtc2FsSW5zdGFuY2U6IElQdWJsaWNDbGllbnRBcHBsaWNhdGlvbixcbiAgICBwcml2YXRlIGF1dGhTZXJ2aWNlOiBNc2FsU2VydmljZWIyY1xuICApIHtcbiAgICB0aGlzLl9tc2FsU3ViamVjdCA9IG5ldyBTdWJqZWN0PEV2ZW50TWVzc2FnZT4oKTtcbiAgICB0aGlzLm1zYWxTdWJqZWN0JCA9IHRoaXMuX21zYWxTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuXG4gICAgLy8gSW5Qcm9ncmVzcyBhcyBCZWhhdmlvclN1YmplY3Qgc28gbW9zdCByZWNlbnQgaW5Qcm9ncmVzcyBzdGF0ZSB3aWxsIGJlIGF2YWlsYWJsZSB1cG9uIHN1YnNjcmlwdGlvblxuICAgIHRoaXMuX2luUHJvZ3Jlc3MgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEludGVyYWN0aW9uU3RhdHVzPihcbiAgICAgIEludGVyYWN0aW9uU3RhdHVzLlN0YXJ0dXBcbiAgICApO1xuICAgIHRoaXMuaW5Qcm9ncmVzcyQgPSB0aGlzLl9pblByb2dyZXNzLmFzT2JzZXJ2YWJsZSgpO1xuXG4gICAgdGhpcy5tc2FsSW5zdGFuY2UuYWRkRXZlbnRDYWxsYmFjaygobWVzc2FnZTogRXZlbnRNZXNzYWdlKSA9PiB7XG4gICAgICB0aGlzLl9tc2FsU3ViamVjdC5uZXh0KG1lc3NhZ2UpO1xuICAgICAgY29uc3Qgc3RhdHVzID0gRXZlbnRNZXNzYWdlVXRpbHMuZ2V0SW50ZXJhY3Rpb25TdGF0dXNGcm9tRXZlbnQobWVzc2FnZSk7XG4gICAgICBpZiAoc3RhdHVzICE9PSBudWxsKSB7XG4gICAgICAgIHRoaXMuYXV0aFNlcnZpY2VcbiAgICAgICAgICAuZ2V0TG9nZ2VyKClcbiAgICAgICAgICAudmVyYm9zZShcbiAgICAgICAgICAgIGBCcm9hZGNhc3RTZXJ2aWNlIC0gJHttZXNzYWdlLmV2ZW50VHlwZX0gcmVzdWx0cyBpbiBzZXR0aW5nIGluUHJvZ3Jlc3MgdG8gJHtzdGF0dXN9YFxuICAgICAgICAgICk7XG4gICAgICAgIHRoaXMuX2luUHJvZ3Jlc3MubmV4dChzdGF0dXMpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,85 @@
|
|
|
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 { Location } from '@angular/common';
|
|
7
|
+
import { WrapperSKU } from '@azure/msal-browser';
|
|
8
|
+
import { MSAL_INSTANCE } from '@azure/msal-angular';
|
|
9
|
+
import { from } from 'rxjs';
|
|
10
|
+
import * as i0 from "@angular/core";
|
|
11
|
+
import * as i1 from "@angular/common";
|
|
12
|
+
export class MsalServiceb2c {
|
|
13
|
+
instance;
|
|
14
|
+
location;
|
|
15
|
+
redirectHash;
|
|
16
|
+
logger;
|
|
17
|
+
name = '@azure/msal-angular';
|
|
18
|
+
version = '2.0.0-beta.2';
|
|
19
|
+
constructor(instance, location) {
|
|
20
|
+
this.instance = instance;
|
|
21
|
+
this.location = location;
|
|
22
|
+
const hash = this.location.path(true).split('#').pop();
|
|
23
|
+
if (hash) {
|
|
24
|
+
this.redirectHash = `#${hash}`;
|
|
25
|
+
}
|
|
26
|
+
this.instance.initializeWrapperLibrary(WrapperSKU.Angular, this.version);
|
|
27
|
+
}
|
|
28
|
+
initialize() {
|
|
29
|
+
return from(this.instance.initialize());
|
|
30
|
+
}
|
|
31
|
+
acquireTokenPopup(request) {
|
|
32
|
+
return from(this.instance.acquireTokenPopup(request));
|
|
33
|
+
}
|
|
34
|
+
acquireTokenRedirect(request) {
|
|
35
|
+
return from(this.instance.acquireTokenRedirect(request));
|
|
36
|
+
}
|
|
37
|
+
acquireTokenSilent(silentRequest) {
|
|
38
|
+
return from(this.instance.acquireTokenSilent(silentRequest));
|
|
39
|
+
}
|
|
40
|
+
handleRedirectObservable(hash) {
|
|
41
|
+
return from(this.instance.handleRedirectPromise(hash || this.redirectHash));
|
|
42
|
+
}
|
|
43
|
+
loginPopup(request) {
|
|
44
|
+
return from(this.instance.loginPopup(request));
|
|
45
|
+
}
|
|
46
|
+
loginRedirect(request) {
|
|
47
|
+
return from(this.instance.loginRedirect(request));
|
|
48
|
+
}
|
|
49
|
+
logout(logoutRequest) {
|
|
50
|
+
return from(this.instance.logout(logoutRequest));
|
|
51
|
+
}
|
|
52
|
+
logoutRedirect(logoutRequest) {
|
|
53
|
+
return from(this.instance.logoutRedirect(logoutRequest));
|
|
54
|
+
}
|
|
55
|
+
logoutPopup(logoutRequest) {
|
|
56
|
+
return from(this.instance.logoutPopup(logoutRequest));
|
|
57
|
+
}
|
|
58
|
+
ssoSilent(request) {
|
|
59
|
+
return from(this.instance.ssoSilent(request));
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Gets logger for msal-angular.
|
|
63
|
+
* If no logger set, returns logger instance created with same options as msal-browser
|
|
64
|
+
*/
|
|
65
|
+
getLogger() {
|
|
66
|
+
if (!this.logger) {
|
|
67
|
+
this.logger = this.instance.getLogger().clone(this.name, this.version);
|
|
68
|
+
}
|
|
69
|
+
return this.logger;
|
|
70
|
+
}
|
|
71
|
+
// Create a logger instance for msal-angular with the same options as msal-browser
|
|
72
|
+
setLogger(logger) {
|
|
73
|
+
this.logger = logger.clone(this.name, this.version);
|
|
74
|
+
this.instance.setLogger(logger);
|
|
75
|
+
}
|
|
76
|
+
static ɵfac = function MsalServiceb2c_Factory(t) { return new (t || MsalServiceb2c)(i0.ɵɵinject(MSAL_INSTANCE), i0.ɵɵinject(i1.Location)); };
|
|
77
|
+
static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: MsalServiceb2c, factory: MsalServiceb2c.ɵfac });
|
|
78
|
+
}
|
|
79
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MsalServiceb2c, [{
|
|
80
|
+
type: Injectable
|
|
81
|
+
}], function () { return [{ type: undefined, decorators: [{
|
|
82
|
+
type: Inject,
|
|
83
|
+
args: [MSAL_INSTANCE]
|
|
84
|
+
}] }, { type: i1.Location }]; }, null); })();
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1tc2FsU2VydmljZWIyYy5zZXJ2aWNlLi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2F1dGgvc3JjL2xpYi9zaGFyZWQvYXV0aC1tc2FsU2VydmljZWIyYy5zZXJ2aWNlLi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFFSCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQVVMLFVBQVUsRUFDWCxNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQWMsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7QUFJeEMsTUFBTSxPQUFPLGNBQWM7SUFNTztJQUN0QjtJQU5GLFlBQVksQ0FBUztJQUNyQixNQUFNLENBQVM7SUFDZixJQUFJLEdBQUcscUJBQXFCLENBQUM7SUFDN0IsT0FBTyxHQUFHLGNBQWMsQ0FBQztJQUNqQyxZQUNnQyxRQUFrQyxFQUN4RCxRQUFrQjtRQURJLGFBQVEsR0FBUixRQUFRLENBQTBCO1FBQ3hELGFBQVEsR0FBUixRQUFRLENBQVU7UUFFMUIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ3ZELElBQUksSUFBSSxFQUFFO1lBQ1IsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1NBQ2hDO1FBQ0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyx3QkFBd0IsQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBRUQsVUFBVTtRQUNSLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsaUJBQWlCLENBQUMsT0FBcUI7UUFDckMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFDRCxvQkFBb0IsQ0FBQyxPQUF3QjtRQUMzQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUNELGtCQUFrQixDQUNoQixhQUE0QjtRQUU1QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUNELHdCQUF3QixDQUFDLElBQWE7UUFDcEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUNELFVBQVUsQ0FBQyxPQUFzQjtRQUMvQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFDRCxhQUFhLENBQUMsT0FBeUI7UUFDckMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBQ0QsTUFBTSxDQUFDLGFBQWlDO1FBQ3RDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUNELGNBQWMsQ0FBQyxhQUFpQztRQUM5QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFDRCxXQUFXLENBQUMsYUFBc0M7UUFDaEQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBQ0QsU0FBUyxDQUFDLE9BQXlCO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUNEOzs7T0FHRztJQUNILFNBQVM7UUFDUCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNoQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ3hFO1FBQ0QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFDRCxrRkFBa0Y7SUFDbEYsU0FBUyxDQUFDLE1BQWM7UUFDdEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2xDLENBQUM7d0VBbEVVLGNBQWMsY0FNZixhQUFhO2dFQU5aLGNBQWMsV0FBZCxjQUFjOzt1RkFBZCxjQUFjO2NBRDFCLFVBQVU7O3NCQU9OLE1BQU07dUJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExvY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIElQdWJsaWNDbGllbnRBcHBsaWNhdGlvbixcbiAgRW5kU2Vzc2lvblJlcXVlc3QsXG4gIEVuZFNlc3Npb25Qb3B1cFJlcXVlc3QsXG4gIEF1dGhlbnRpY2F0aW9uUmVzdWx0LFxuICBSZWRpcmVjdFJlcXVlc3QsXG4gIFNpbGVudFJlcXVlc3QsXG4gIFBvcHVwUmVxdWVzdCxcbiAgU3NvU2lsZW50UmVxdWVzdCxcbiAgTG9nZ2VyLFxuICBXcmFwcGVyU0tVXG59IGZyb20gJ0BhenVyZS9tc2FsLWJyb3dzZXInO1xuaW1wb3J0IHsgTVNBTF9JTlNUQU5DRSB9IGZyb20gJ0BhenVyZS9tc2FsLWFuZ3VsYXInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgZnJvbSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSU1zYWxTZXJ2aWNlIH0gZnJvbSAnQGF6dXJlL21zYWwtYW5ndWxhcic7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBNc2FsU2VydmljZWIyYyBpbXBsZW1lbnRzIElNc2FsU2VydmljZSB7XG4gIHByaXZhdGUgcmVkaXJlY3RIYXNoOiBzdHJpbmc7XG4gIHByaXZhdGUgbG9nZ2VyOiBMb2dnZXI7XG4gIHByaXZhdGUgbmFtZSA9ICdAYXp1cmUvbXNhbC1hbmd1bGFyJztcbiAgcHJpdmF0ZSB2ZXJzaW9uID0gJzIuMC4wLWJldGEuMic7XG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoTVNBTF9JTlNUQU5DRSkgcHVibGljIGluc3RhbmNlOiBJUHVibGljQ2xpZW50QXBwbGljYXRpb24sXG4gICAgcHJpdmF0ZSBsb2NhdGlvbjogTG9jYXRpb25cbiAgKSB7XG4gICAgY29uc3QgaGFzaCA9IHRoaXMubG9jYXRpb24ucGF0aCh0cnVlKS5zcGxpdCgnIycpLnBvcCgpO1xuICAgIGlmIChoYXNoKSB7XG4gICAgICB0aGlzLnJlZGlyZWN0SGFzaCA9IGAjJHtoYXNofWA7XG4gICAgfVxuICAgIHRoaXMuaW5zdGFuY2UuaW5pdGlhbGl6ZVdyYXBwZXJMaWJyYXJ5KFdyYXBwZXJTS1UuQW5ndWxhciwgdGhpcy52ZXJzaW9uKTtcbiAgfVxuXG4gIGluaXRpYWxpemUoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIGZyb20odGhpcy5pbnN0YW5jZS5pbml0aWFsaXplKCkpO1xuICB9XG5cbiAgYWNxdWlyZVRva2VuUG9wdXAocmVxdWVzdDogUG9wdXBSZXF1ZXN0KTogT2JzZXJ2YWJsZTxBdXRoZW50aWNhdGlvblJlc3VsdD4ge1xuICAgIHJldHVybiBmcm9tKHRoaXMuaW5zdGFuY2UuYWNxdWlyZVRva2VuUG9wdXAocmVxdWVzdCkpO1xuICB9XG4gIGFjcXVpcmVUb2tlblJlZGlyZWN0KHJlcXVlc3Q6IFJlZGlyZWN0UmVxdWVzdCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiBmcm9tKHRoaXMuaW5zdGFuY2UuYWNxdWlyZVRva2VuUmVkaXJlY3QocmVxdWVzdCkpO1xuICB9XG4gIGFjcXVpcmVUb2tlblNpbGVudChcbiAgICBzaWxlbnRSZXF1ZXN0OiBTaWxlbnRSZXF1ZXN0XG4gICk6IE9ic2VydmFibGU8QXV0aGVudGljYXRpb25SZXN1bHQ+IHtcbiAgICByZXR1cm4gZnJvbSh0aGlzLmluc3RhbmNlLmFjcXVpcmVUb2tlblNpbGVudChzaWxlbnRSZXF1ZXN0KSk7XG4gIH1cbiAgaGFuZGxlUmVkaXJlY3RPYnNlcnZhYmxlKGhhc2g/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPEF1dGhlbnRpY2F0aW9uUmVzdWx0PiB7XG4gICAgcmV0dXJuIGZyb20odGhpcy5pbnN0YW5jZS5oYW5kbGVSZWRpcmVjdFByb21pc2UoaGFzaCB8fCB0aGlzLnJlZGlyZWN0SGFzaCkpO1xuICB9XG4gIGxvZ2luUG9wdXAocmVxdWVzdD86IFBvcHVwUmVxdWVzdCk6IE9ic2VydmFibGU8QXV0aGVudGljYXRpb25SZXN1bHQ+IHtcbiAgICByZXR1cm4gZnJvbSh0aGlzLmluc3RhbmNlLmxvZ2luUG9wdXAocmVxdWVzdCkpO1xuICB9XG4gIGxvZ2luUmVkaXJlY3QocmVxdWVzdD86IFJlZGlyZWN0UmVxdWVzdCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiBmcm9tKHRoaXMuaW5zdGFuY2UubG9naW5SZWRpcmVjdChyZXF1ZXN0KSk7XG4gIH1cbiAgbG9nb3V0KGxvZ291dFJlcXVlc3Q/OiBFbmRTZXNzaW9uUmVxdWVzdCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiBmcm9tKHRoaXMuaW5zdGFuY2UubG9nb3V0KGxvZ291dFJlcXVlc3QpKTtcbiAgfVxuICBsb2dvdXRSZWRpcmVjdChsb2dvdXRSZXF1ZXN0PzogRW5kU2Vzc2lvblJlcXVlc3QpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gZnJvbSh0aGlzLmluc3RhbmNlLmxvZ291dFJlZGlyZWN0KGxvZ291dFJlcXVlc3QpKTtcbiAgfVxuICBsb2dvdXRQb3B1cChsb2dvdXRSZXF1ZXN0PzogRW5kU2Vzc2lvblBvcHVwUmVxdWVzdCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiBmcm9tKHRoaXMuaW5zdGFuY2UubG9nb3V0UG9wdXAobG9nb3V0UmVxdWVzdCkpO1xuICB9XG4gIHNzb1NpbGVudChyZXF1ZXN0OiBTc29TaWxlbnRSZXF1ZXN0KTogT2JzZXJ2YWJsZTxBdXRoZW50aWNhdGlvblJlc3VsdD4ge1xuICAgIHJldHVybiBmcm9tKHRoaXMuaW5zdGFuY2Uuc3NvU2lsZW50KHJlcXVlc3QpKTtcbiAgfVxuICAvKipcbiAgICogR2V0cyBsb2dnZXIgZm9yIG1zYWwtYW5ndWxhci5cbiAgICogSWYgbm8gbG9nZ2VyIHNldCwgcmV0dXJucyBsb2dnZXIgaW5zdGFuY2UgY3JlYXRlZCB3aXRoIHNhbWUgb3B0aW9ucyBhcyBtc2FsLWJyb3dzZXJcbiAgICovXG4gIGdldExvZ2dlcigpOiBMb2dnZXIge1xuICAgIGlmICghdGhpcy5sb2dnZXIpIHtcbiAgICAgIHRoaXMubG9nZ2VyID0gdGhpcy5pbnN0YW5jZS5nZXRMb2dnZXIoKS5jbG9uZSh0aGlzLm5hbWUsIHRoaXMudmVyc2lvbik7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmxvZ2dlcjtcbiAgfVxuICAvLyBDcmVhdGUgYSBsb2dnZXIgaW5zdGFuY2UgZm9yIG1zYWwtYW5ndWxhciB3aXRoIHRoZSBzYW1lIG9wdGlvbnMgYXMgbXNhbC1icm93c2VyXG4gIHNldExvZ2dlcihsb2dnZXI6IExvZ2dlcik6IHZvaWQge1xuICAgIHRoaXMubG9nZ2VyID0gbG9nZ2VyLmNsb25lKHRoaXMubmFtZSwgdGhpcy52ZXJzaW9uKTtcbiAgICB0aGlzLmluc3RhbmNlLnNldExvZ2dlcihsb2dnZXIpO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { Router } from '@angular/router';
|
|
3
|
+
import { ConfigService } from '@igo2/core';
|
|
4
|
+
import { AuthService } from './auth.service';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "./auth.service";
|
|
7
|
+
import * as i2 from "@igo2/core";
|
|
8
|
+
import * as i3 from "@angular/router";
|
|
9
|
+
export class AuthGuard {
|
|
10
|
+
authService;
|
|
11
|
+
config;
|
|
12
|
+
router;
|
|
13
|
+
constructor(authService, config, router) {
|
|
14
|
+
this.authService = authService;
|
|
15
|
+
this.config = config;
|
|
16
|
+
this.router = router;
|
|
17
|
+
}
|
|
18
|
+
canActivate(route, state) {
|
|
19
|
+
if (this.authService.authenticated) {
|
|
20
|
+
return true;
|
|
21
|
+
}
|
|
22
|
+
this.authService.redirectUrl = state.url;
|
|
23
|
+
const authConfig = this.config.getConfig('auth');
|
|
24
|
+
if (authConfig && authConfig.loginRoute) {
|
|
25
|
+
this.router.navigateByUrl(authConfig.loginRoute);
|
|
26
|
+
}
|
|
27
|
+
return false;
|
|
28
|
+
}
|
|
29
|
+
static ɵfac = function AuthGuard_Factory(t) { return new (t || AuthGuard)(i0.ɵɵinject(i1.AuthService), i0.ɵɵinject(i2.ConfigService), i0.ɵɵinject(i3.Router)); };
|
|
30
|
+
static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: AuthGuard, factory: AuthGuard.ɵfac, providedIn: 'root' });
|
|
31
|
+
}
|
|
32
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AuthGuard, [{
|
|
33
|
+
type: Injectable,
|
|
34
|
+
args: [{
|
|
35
|
+
providedIn: 'root'
|
|
36
|
+
}]
|
|
37
|
+
}], function () { return [{ type: i1.AuthService }, { type: i2.ConfigService }, { type: i3.Router }]; }, null); })();
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2F1dGgvc3JjL2xpYi9zaGFyZWQvYXV0aC5ndWFyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFDTCxNQUFNLEVBR1AsTUFBTSxpQkFBaUIsQ0FBQztBQUV6QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUFLN0MsTUFBTSxPQUFPLFNBQVM7SUFFVjtJQUNBO0lBQ0E7SUFIVixZQUNVLFdBQXdCLEVBQ3hCLE1BQXFCLEVBQ3JCLE1BQWM7UUFGZCxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQ3JCLFdBQU0sR0FBTixNQUFNLENBQVE7SUFDckIsQ0FBQztJQUVKLFdBQVcsQ0FBQyxLQUE2QixFQUFFLEtBQTBCO1FBQ25FLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUU7WUFDbEMsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUM7UUFFekMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDakQsSUFBSSxVQUFVLElBQUksVUFBVSxDQUFDLFVBQVUsRUFBRTtZQUN2QyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDbEQ7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7bUVBcEJVLFNBQVM7Z0VBQVQsU0FBUyxXQUFULFNBQVMsbUJBRlIsTUFBTTs7dUZBRVAsU0FBUztjQUhyQixVQUFVO2VBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBSb3V0ZXIsXG4gIEFjdGl2YXRlZFJvdXRlU25hcHNob3QsXG4gIFJvdXRlclN0YXRlU25hcHNob3Rcbn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHsgQ29uZmlnU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuL2F1dGguc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEF1dGhHdWFyZCB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29uZmlnOiBDb25maWdTZXJ2aWNlLFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXJcbiAgKSB7fVxuXG4gIGNhbkFjdGl2YXRlKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBzdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdCkge1xuICAgIGlmICh0aGlzLmF1dGhTZXJ2aWNlLmF1dGhlbnRpY2F0ZWQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHRoaXMuYXV0aFNlcnZpY2UucmVkaXJlY3RVcmwgPSBzdGF0ZS51cmw7XG5cbiAgICBjb25zdCBhdXRoQ29uZmlnID0gdGhpcy5jb25maWcuZ2V0Q29uZmlnKCdhdXRoJyk7XG4gICAgaWYgKGF1dGhDb25maWcgJiYgYXV0aENvbmZpZy5sb2dpblJvdXRlKSB7XG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKGF1dGhDb25maWcubG9naW5Sb3V0ZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG4iXX0=
|