@igo2/auth 17.0.0-next.0 → 17.0.0-next.10

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