@igo2/auth 17.0.0-next.2 → 17.0.0-next.3

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 (109) 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 +95 -0
  13. package/esm2022/form/igo2-auth-form.mjs +5 -0
  14. package/esm2022/form/public_api.mjs +9 -0
  15. package/esm2022/form/shared/auth-form.interface.mjs +2 -0
  16. package/esm2022/form/shared/auth-storage.interface.mjs +2 -0
  17. package/esm2022/form/shared/auth-storage.service.mjs +98 -0
  18. package/esm2022/form/shared/index.mjs +4 -0
  19. package/esm2022/google/auth-google/auth-google.component.mjs +108 -0
  20. package/esm2022/google/igo2-auth-google.mjs +5 -0
  21. package/esm2022/google/public_api.mjs +3 -0
  22. package/esm2022/google/shared/auth-google.interface.mjs +2 -0
  23. package/esm2022/google/shared/index.mjs +2 -0
  24. package/esm2022/internal/auth-intern/auth-intern.component.mjs +84 -0
  25. package/esm2022/internal/igo2-auth-internal.mjs +5 -0
  26. package/esm2022/internal/public_api.mjs +2 -0
  27. package/esm2022/lib/shared/auth.interface.mjs +1 -1
  28. package/esm2022/lib/shared/index.mjs +1 -5
  29. package/esm2022/microsoft/auth-microsoft/auth-microsoft.component.mjs +100 -0
  30. package/esm2022/microsoft/auth-microsoft.provider.mjs +92 -0
  31. package/esm2022/microsoft/auth-microsoftb2c/auth-microsoftb2c.component.mjs +98 -0
  32. package/esm2022/microsoft/auth-microsoftb2c/auth-msalBroadcastServiceb2c.service.mjs +47 -0
  33. package/esm2022/microsoft/auth-microsoftb2c/auth-msalServiceb2c.service.mjs +85 -0
  34. package/esm2022/microsoft/igo2-auth-microsoft.mjs +5 -0
  35. package/esm2022/microsoft/public_api.mjs +5 -0
  36. package/esm2022/microsoft/shared/auth-microsoft.interface.mjs +2 -0
  37. package/esm2022/microsoft/shared/index.mjs +2 -0
  38. package/esm2022/public_api.mjs +1 -8
  39. package/{lib/auth-form → facebook/auth-facebook}/auth-facebook.component.d.ts +1 -1
  40. package/facebook/index.d.ts +5 -0
  41. package/facebook/public_api.d.ts +2 -0
  42. package/facebook/shared/auth-facebook.interface.d.ts +4 -0
  43. package/facebook/shared/index.d.ts +1 -0
  44. package/fesm2022/igo2-auth-environment.mjs +4 -0
  45. package/fesm2022/igo2-auth-environment.mjs.map +1 -0
  46. package/fesm2022/igo2-auth-facebook.mjs +70 -0
  47. package/fesm2022/igo2-auth-facebook.mjs.map +1 -0
  48. package/fesm2022/igo2-auth-form.mjs +350 -0
  49. package/fesm2022/igo2-auth-form.mjs.map +1 -0
  50. package/fesm2022/igo2-auth-google.mjs +112 -0
  51. package/fesm2022/igo2-auth-google.mjs.map +1 -0
  52. package/fesm2022/igo2-auth-internal.mjs +89 -0
  53. package/fesm2022/igo2-auth-internal.mjs.map +1 -0
  54. package/fesm2022/igo2-auth-microsoft.mjs +390 -0
  55. package/fesm2022/igo2-auth-microsoft.mjs.map +1 -0
  56. package/fesm2022/igo2-auth.mjs +7 -956
  57. package/fesm2022/igo2-auth.mjs.map +1 -1
  58. package/{lib → form}/auth-form/auth-form.component.d.ts +3 -4
  59. package/form/auth-form.module.d.ts +22 -0
  60. package/form/index.d.ts +5 -0
  61. package/form/public_api.d.ts +5 -0
  62. package/form/shared/auth-form.interface.d.ts +9 -0
  63. package/{lib → form}/shared/auth-storage.service.d.ts +1 -2
  64. package/form/shared/index.d.ts +3 -0
  65. package/{lib/auth-form → google/auth-google}/auth-google.component.d.ts +1 -1
  66. package/google/index.d.ts +5 -0
  67. package/google/public_api.d.ts +2 -0
  68. package/google/shared/auth-google.interface.d.ts +5 -0
  69. package/google/shared/index.d.ts +1 -0
  70. package/{lib/auth-form → internal/auth-intern}/auth-intern.component.d.ts +1 -1
  71. package/internal/index.d.ts +5 -0
  72. package/internal/public_api.d.ts +1 -0
  73. package/lib/shared/auth.interface.d.ts +14 -71
  74. package/lib/shared/index.d.ts +0 -4
  75. package/{lib/auth-form → microsoft/auth-microsoft}/auth-microsoft.component.d.ts +2 -2
  76. package/{lib/shared → microsoft}/auth-microsoft.provider.d.ts +5 -2
  77. package/{lib/auth-form → microsoft/auth-microsoftb2c}/auth-microsoftb2c.component.d.ts +3 -3
  78. package/{lib/shared → microsoft/auth-microsoftb2c}/auth-msalBroadcastServiceb2c.service.d.ts +1 -1
  79. package/microsoft/index.d.ts +5 -0
  80. package/microsoft/public_api.d.ts +4 -0
  81. package/microsoft/shared/auth-microsoft.interface.d.ts +32 -0
  82. package/microsoft/shared/index.d.ts +1 -0
  83. package/package.json +39 -3
  84. package/public_api.d.ts +0 -7
  85. package/src/auth.theme.scss +9 -9
  86. package/esm2022/lib/auth-form/auth-facebook.component.mjs +0 -65
  87. package/esm2022/lib/auth-form/auth-form.component.mjs +0 -170
  88. package/esm2022/lib/auth-form/auth-google.component.mjs +0 -108
  89. package/esm2022/lib/auth-form/auth-intern.component.mjs +0 -84
  90. package/esm2022/lib/auth-form/auth-microsoft.component.mjs +0 -100
  91. package/esm2022/lib/auth-form/auth-microsoftb2c.component.mjs +0 -98
  92. package/esm2022/lib/auth-form/index.mjs +0 -19
  93. package/esm2022/lib/auth.module.mjs +0 -98
  94. package/esm2022/lib/environment/environment.interface.mjs +0 -2
  95. package/esm2022/lib/environment/index.mjs +0 -2
  96. package/esm2022/lib/shared/auth-microsoft.provider.mjs +0 -86
  97. package/esm2022/lib/shared/auth-msalBroadcastServiceb2c.service.mjs +0 -47
  98. package/esm2022/lib/shared/auth-msalServiceb2c.service..mjs +0 -85
  99. package/esm2022/lib/shared/auth-storage.interface.mjs +0 -2
  100. package/esm2022/lib/shared/auth-storage.service.mjs +0 -100
  101. package/esm2022/lib/shared/protected.directive.mjs +0 -21
  102. package/lib/auth-form/index.d.ts +0 -11
  103. package/lib/auth.module.d.ts +0 -24
  104. package/lib/environment/environment.interface.d.ts +0 -5
  105. package/lib/shared/protected.directive.d.ts +0 -8
  106. package/src/lib/auth-form/auth-intern.theme.scss +0 -19
  107. /package/{lib/environment/index.d.ts → environment/public_api.d.ts} +0 -0
  108. /package/{lib → form}/shared/auth-storage.interface.d.ts +0 -0
  109. /package/{lib/shared/auth-msalServiceb2c.service..d.ts → microsoft/auth-microsoftb2c/auth-msalServiceb2c.service.d.ts} +0 -0
@@ -0,0 +1,6 @@
1
+ import { AuthOptions } from '@igo2/auth';
2
+ import { AuthFormOptions, AuthStorageOptions } from '@igo2/auth/form';
3
+ export interface AuthEnvironmentOptions {
4
+ auth?: AuthOptions & AuthFormOptions;
5
+ storage?: AuthStorageOptions;
6
+ }
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ /// <amd-module name="@igo2/auth/environment" />
5
+ export * from './public_api';
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvYXV0aC9lbnZpcm9ubWVudC9zcmMvZW52aXJvbm1lbnQuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBdXRoT3B0aW9ucyB9IGZyb20gJ0BpZ28yL2F1dGgnO1xuaW1wb3J0IHsgQXV0aEZvcm1PcHRpb25zLCBBdXRoU3RvcmFnZU9wdGlvbnMgfSBmcm9tICdAaWdvMi9hdXRoL2Zvcm0nO1xuXG5leHBvcnQgaW50ZXJmYWNlIEF1dGhFbnZpcm9ubWVudE9wdGlvbnMge1xuICBhdXRoPzogQXV0aE9wdGlvbnMgJiBBdXRoRm9ybU9wdGlvbnM7XG4gIHN0b3JhZ2U/OiBBdXRoU3RvcmFnZU9wdGlvbnM7XG59XG4iXX0=
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public_api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWdvMi1hdXRoLWVudmlyb25tZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvYXV0aC9lbnZpcm9ubWVudC9zcmMvaWdvMi1hdXRoLWVudmlyb25tZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljX2FwaSc7XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export * from './environment.interface';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2F1dGgvZW52aXJvbm1lbnQvc3JjL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZW52aXJvbm1lbnQuaW50ZXJmYWNlJztcbiJdfQ==
@@ -0,0 +1,65 @@
1
+ import { ApplicationRef, ChangeDetectionStrategy, Component, EventEmitter, Output } from '@angular/core';
2
+ import { AuthService } from '@igo2/auth';
3
+ import { ConfigService } from '@igo2/core/config';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@igo2/auth";
6
+ import * as i2 from "@igo2/core/config";
7
+ export class AuthFacebookComponent {
8
+ authService;
9
+ config;
10
+ appRef;
11
+ options;
12
+ login = new EventEmitter();
13
+ constructor(authService, config, appRef) {
14
+ this.authService = authService;
15
+ this.config = config;
16
+ this.appRef = appRef;
17
+ this.options = this.config.getConfig('auth.facebook');
18
+ if (this.options?.appId) {
19
+ this.loadSDKFacebook();
20
+ }
21
+ else {
22
+ console.warn('Facebook authentification needs "appId" option');
23
+ }
24
+ }
25
+ subscribeEvents() {
26
+ window.FB.Event.subscribe('auth.statusChange', (rep) => {
27
+ this.statusChangeCallback(rep);
28
+ });
29
+ }
30
+ statusChangeCallback(response) {
31
+ if (response.status === 'connected') {
32
+ const accessToken = response.authResponse.accessToken;
33
+ this.loginFacebook(accessToken);
34
+ }
35
+ }
36
+ loginFacebook(token) {
37
+ this.authService.loginWithToken(token, 'facebook').subscribe(() => {
38
+ this.appRef.tick();
39
+ this.login.emit(true);
40
+ });
41
+ }
42
+ loadSDKFacebook() {
43
+ if (document.getElementById('facebook-jssdk')) {
44
+ return;
45
+ }
46
+ const urlSDK = 'https://connect.facebook.net/fr_CA/sdk.js#xfbml=1&version=v2.9';
47
+ const fjs = document.getElementsByTagName('script')[0];
48
+ const js = document.createElement('script');
49
+ js.id = 'facebook-jssdk';
50
+ js.src = `${urlSDK}&appId=${this.options?.appId}`;
51
+ js.onload = () => {
52
+ this.subscribeEvents();
53
+ };
54
+ fjs.parentNode.insertBefore(js, fjs);
55
+ }
56
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: AuthFacebookComponent, deps: [{ token: i1.AuthService }, { token: i2.ConfigService }, { token: i0.ApplicationRef }], target: i0.ɵɵFactoryTarget.Component });
57
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: AuthFacebookComponent, isStandalone: true, selector: "igo-auth-facebook", outputs: { login: "login" }, ngImport: i0, template: "<div\n scope=\"public_profile,email\"\n class=\"fb-login-button\"\n data-max-rows=\"1\"\n data-size=\"large\"\n data-button-type=\"login_with\"\n data-show-faces=\"false\"\n data-auto-logout-link=\"false\"\n data-use-continue-as=\"false\"\n></div>\n", styles: [":host{padding:10px 10px 10px 0;display:inline-block;position:relative;top:-3px}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
58
+ }
59
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: AuthFacebookComponent, decorators: [{
60
+ type: Component,
61
+ args: [{ selector: 'igo-auth-facebook', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<div\n scope=\"public_profile,email\"\n class=\"fb-login-button\"\n data-max-rows=\"1\"\n data-size=\"large\"\n data-button-type=\"login_with\"\n data-show-faces=\"false\"\n data-auto-logout-link=\"false\"\n data-use-continue-as=\"false\"\n></div>\n", styles: [":host{padding:10px 10px 10px 0;display:inline-block;position:relative;top:-3px}\n"] }]
62
+ }], ctorParameters: () => [{ type: i1.AuthService }, { type: i2.ConfigService }, { type: i0.ApplicationRef }], propDecorators: { login: [{
63
+ type: Output
64
+ }] } });
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1mYWNlYm9vay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hdXRoL2ZhY2Vib29rL3NyYy9hdXRoLWZhY2Vib29rL2F1dGgtZmFjZWJvb2suY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYXV0aC9mYWNlYm9vay9zcmMvYXV0aC1mYWNlYm9vay9hdXRoLWZhY2Vib29rLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxjQUFjLEVBQ2QsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUNQLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDekMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7O0FBV2xELE1BQU0sT0FBTyxxQkFBcUI7SUFNdEI7SUFDQTtJQUNBO0lBUEYsT0FBTyxDQUF1QjtJQUU1QixLQUFLLEdBQTBCLElBQUksWUFBWSxFQUFXLENBQUM7SUFFckUsWUFDVSxXQUF3QixFQUN4QixNQUFxQixFQUNyQixNQUFzQjtRQUZ0QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQ3JCLFdBQU0sR0FBTixNQUFNLENBQWdCO1FBRTlCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLENBQUM7UUFFdEQsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN6QixDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sQ0FBQyxJQUFJLENBQUMsZ0RBQWdELENBQUMsQ0FBQztRQUNqRSxDQUFDO0lBQ0gsQ0FBQztJQUVPLGVBQWU7UUFDcEIsTUFBYyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLG1CQUFtQixFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDOUQsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2pDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLG9CQUFvQixDQUFDLFFBQVE7UUFDbkMsSUFBSSxRQUFRLENBQUMsTUFBTSxLQUFLLFdBQVcsRUFBRSxDQUFDO1lBQ3BDLE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDO1lBQ3RELElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbEMsQ0FBQztJQUNILENBQUM7SUFFTyxhQUFhLENBQUMsS0FBSztRQUN6QixJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNoRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLGVBQWU7UUFDckIsSUFBSSxRQUFRLENBQUMsY0FBYyxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQztZQUM5QyxPQUFPO1FBQ1QsQ0FBQztRQUVELE1BQU0sTUFBTSxHQUNWLGdFQUFnRSxDQUFDO1FBRW5FLE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN2RCxNQUFNLEVBQUUsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzVDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsZ0JBQWdCLENBQUM7UUFDekIsRUFBRSxDQUFDLEdBQUcsR0FBRyxHQUFHLE1BQU0sVUFBVSxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDO1FBQ2xELEVBQUUsQ0FBQyxNQUFNLEdBQUcsR0FBRyxFQUFFO1lBQ2YsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3pCLENBQUMsQ0FBQztRQUNGLEdBQUcsQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUN2QyxDQUFDO3VHQXZEVSxxQkFBcUI7MkZBQXJCLHFCQUFxQiwwR0NwQmxDLG1RQVVBOzsyRkRVYSxxQkFBcUI7a0JBUGpDLFNBQVM7K0JBQ0UsbUJBQW1CLG1CQUdaLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSTt5SUFLTixLQUFLO3NCQUFkLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBcHBsaWNhdGlvblJlZixcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBPdXRwdXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvYXV0aCc7XG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZS9jb25maWcnO1xuXG5pbXBvcnQgeyBBdXRoRmFjZWJvb2tPcHRpb25zIH0gZnJvbSAnLi4vc2hhcmVkL2F1dGgtZmFjZWJvb2suaW50ZXJmYWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaWdvLWF1dGgtZmFjZWJvb2snLFxuICB0ZW1wbGF0ZVVybDogJy4vYXV0aC1mYWNlYm9vay5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2F1dGgtZmFjZWJvb2suY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgQXV0aEZhY2Vib29rQ29tcG9uZW50IHtcbiAgcHJpdmF0ZSBvcHRpb25zPzogQXV0aEZhY2Vib29rT3B0aW9ucztcblxuICBAT3V0cHV0KCkgbG9naW46IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSxcbiAgICBwcml2YXRlIGNvbmZpZzogQ29uZmlnU2VydmljZSxcbiAgICBwcml2YXRlIGFwcFJlZjogQXBwbGljYXRpb25SZWZcbiAgKSB7XG4gICAgdGhpcy5vcHRpb25zID0gdGhpcy5jb25maWcuZ2V0Q29uZmlnKCdhdXRoLmZhY2Vib29rJyk7XG5cbiAgICBpZiAodGhpcy5vcHRpb25zPy5hcHBJZCkge1xuICAgICAgdGhpcy5sb2FkU0RLRmFjZWJvb2soKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS53YXJuKCdGYWNlYm9vayBhdXRoZW50aWZpY2F0aW9uIG5lZWRzIFwiYXBwSWRcIiBvcHRpb24nKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHN1YnNjcmliZUV2ZW50cygpIHtcbiAgICAod2luZG93IGFzIGFueSkuRkIuRXZlbnQuc3Vic2NyaWJlKCdhdXRoLnN0YXR1c0NoYW5nZScsIChyZXApID0+IHtcbiAgICAgIHRoaXMuc3RhdHVzQ2hhbmdlQ2FsbGJhY2socmVwKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdHVzQ2hhbmdlQ2FsbGJhY2socmVzcG9uc2UpIHtcbiAgICBpZiAocmVzcG9uc2Uuc3RhdHVzID09PSAnY29ubmVjdGVkJykge1xuICAgICAgY29uc3QgYWNjZXNzVG9rZW4gPSByZXNwb25zZS5hdXRoUmVzcG9uc2UuYWNjZXNzVG9rZW47XG4gICAgICB0aGlzLmxvZ2luRmFjZWJvb2soYWNjZXNzVG9rZW4pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgbG9naW5GYWNlYm9vayh0b2tlbikge1xuICAgIHRoaXMuYXV0aFNlcnZpY2UubG9naW5XaXRoVG9rZW4odG9rZW4sICdmYWNlYm9vaycpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmFwcFJlZi50aWNrKCk7XG4gICAgICB0aGlzLmxvZ2luLmVtaXQodHJ1ZSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGxvYWRTREtGYWNlYm9vaygpIHtcbiAgICBpZiAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ZhY2Vib29rLWpzc2RrJykpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB1cmxTREsgPVxuICAgICAgJ2h0dHBzOi8vY29ubmVjdC5mYWNlYm9vay5uZXQvZnJfQ0Evc2RrLmpzI3hmYm1sPTEmdmVyc2lvbj12Mi45JztcblxuICAgIGNvbnN0IGZqcyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdzY3JpcHQnKVswXTtcbiAgICBjb25zdCBqcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO1xuICAgIGpzLmlkID0gJ2ZhY2Vib29rLWpzc2RrJztcbiAgICBqcy5zcmMgPSBgJHt1cmxTREt9JmFwcElkPSR7dGhpcy5vcHRpb25zPy5hcHBJZH1gO1xuICAgIGpzLm9ubG9hZCA9ICgpID0+IHtcbiAgICAgIHRoaXMuc3Vic2NyaWJlRXZlbnRzKCk7XG4gICAgfTtcbiAgICBmanMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoanMsIGZqcyk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgc2NvcGU9XCJwdWJsaWNfcHJvZmlsZSxlbWFpbFwiXG4gIGNsYXNzPVwiZmItbG9naW4tYnV0dG9uXCJcbiAgZGF0YS1tYXgtcm93cz1cIjFcIlxuICBkYXRhLXNpemU9XCJsYXJnZVwiXG4gIGRhdGEtYnV0dG9uLXR5cGU9XCJsb2dpbl93aXRoXCJcbiAgZGF0YS1zaG93LWZhY2VzPVwiZmFsc2VcIlxuICBkYXRhLWF1dG8tbG9nb3V0LWxpbms9XCJmYWxzZVwiXG4gIGRhdGEtdXNlLWNvbnRpbnVlLWFzPVwiZmFsc2VcIlxuPjwvZGl2PlxuIl19
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public_api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWdvMi1hdXRoLWZhY2Vib29rLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvYXV0aC9mYWNlYm9vay9zcmMvaWdvMi1hdXRoLWZhY2Vib29rLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljX2FwaSc7XG4iXX0=
@@ -0,0 +1,3 @@
1
+ export * from './auth-facebook/auth-facebook.component';
2
+ export * from './shared';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2F1dGgvZmFjZWJvb2svc3JjL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLFVBQVUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYXV0aC1mYWNlYm9vay9hdXRoLWZhY2Vib29rLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZCc7XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1mYWNlYm9vay5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hdXRoL2ZhY2Vib29rL3NyYy9zaGFyZWQvYXV0aC1mYWNlYm9vay5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQXV0aEZhY2Vib29rT3B0aW9ucyB7XG4gIGVuYWJsZWQ/OiBib29sZWFuO1xuICBhcHBJZDogc3RyaW5nO1xufVxuIl19
@@ -0,0 +1,2 @@
1
+ export * from './auth-facebook.interface';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hdXRoL2ZhY2Vib29rL3NyYy9zaGFyZWQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywyQkFBMkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYXV0aC1mYWNlYm9vay5pbnRlcmZhY2UnO1xuIl19
@@ -0,0 +1,166 @@
1
+ import { NgIf } from '@angular/common';
2
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Optional, Output } from '@angular/core';
3
+ import { MatButtonModule } from '@angular/material/button';
4
+ import { NavigationStart, Router } from '@angular/router';
5
+ import { AuthService } from '@igo2/auth';
6
+ import { AuthFacebookComponent } from '@igo2/auth/facebook';
7
+ import { AuthGoogleComponent } from '@igo2/auth/google';
8
+ import { AuthInternComponent } from '@igo2/auth/internal';
9
+ import { AuthMicrosoftComponent, AuthMicrosoftb2cComponent } from '@igo2/auth/microsoft';
10
+ import { ConfigService } from '@igo2/core/config';
11
+ import { TranslateModule } from '@ngx-translate/core';
12
+ import { filter } from 'rxjs/operators';
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 "@angular/router";
17
+ import * as i4 from "@angular/material/button";
18
+ import * as i5 from "@ngx-translate/core";
19
+ export class AuthFormComponent {
20
+ auth;
21
+ config;
22
+ router;
23
+ get backgroundDisable() {
24
+ if (this.isLogoutRoute || this.isLogoutRoute) {
25
+ return false;
26
+ }
27
+ return this._backgroundDisable;
28
+ }
29
+ set backgroundDisable(value) {
30
+ this._backgroundDisable = value.toString() === 'true';
31
+ }
32
+ _backgroundDisable = true;
33
+ get hasAlreadyConnectedDiv() {
34
+ return this._hasAlreadyConnectedDiv;
35
+ }
36
+ set hasAlreadyConnectedDiv(value) {
37
+ this._hasAlreadyConnectedDiv = value.toString() === 'true';
38
+ }
39
+ _hasAlreadyConnectedDiv = true;
40
+ get hasLogoutDiv() {
41
+ return this._hasLogoutDiv;
42
+ }
43
+ set hasLogoutDiv(value) {
44
+ this._hasLogoutDiv = value.toString() === 'true';
45
+ }
46
+ _hasLogoutDiv = true;
47
+ get showAlreadyConnectedDiv() {
48
+ if (this.isLogoutRoute) {
49
+ return this.hasAlreadyConnectedDiv;
50
+ }
51
+ return this._showAlreadyConnectedDiv;
52
+ }
53
+ set showAlreadyConnectedDiv(value) {
54
+ this._showAlreadyConnectedDiv = value.toString() === 'true';
55
+ }
56
+ _showAlreadyConnectedDiv = false;
57
+ get showLogoutDiv() {
58
+ if (this.isLogoutRoute) {
59
+ return this.hasLogoutDiv;
60
+ }
61
+ return this._showLogoutDiv;
62
+ }
63
+ set showLogoutDiv(value) {
64
+ this._showLogoutDiv = value.toString() === 'true';
65
+ }
66
+ _showLogoutDiv = false;
67
+ get showLoginDiv() {
68
+ if (!this.isLogoutRoute) {
69
+ return true;
70
+ }
71
+ }
72
+ login = new EventEmitter();
73
+ options;
74
+ user;
75
+ visible = true;
76
+ isLogoutRoute;
77
+ constructor(auth, config, router) {
78
+ this.auth = auth;
79
+ this.config = config;
80
+ this.router = router;
81
+ this.options = this.config.getConfig('auth');
82
+ this.visible = Object.getOwnPropertyNames(this.options).length !== 0;
83
+ }
84
+ ngOnInit() {
85
+ this.analyzeRoute();
86
+ this.getName();
87
+ }
88
+ onLogin() {
89
+ this.auth.goToRedirectUrl();
90
+ this.getName();
91
+ this.login.emit(true);
92
+ }
93
+ logout() {
94
+ this.auth.logout().subscribe(() => {
95
+ this.user = undefined;
96
+ if (this.router) {
97
+ if (this.options?.logoutRoute) {
98
+ this.router.navigate([this.options?.logoutRoute]);
99
+ }
100
+ else if (this.options?.homeRoute) {
101
+ this.router.navigate([this.options?.homeRoute]);
102
+ }
103
+ }
104
+ });
105
+ }
106
+ home() {
107
+ if (this.router && this.options?.homeRoute) {
108
+ this.router.navigate([this.options?.homeRoute]);
109
+ }
110
+ }
111
+ getName() {
112
+ const tokenDecoded = this.auth.decodeToken();
113
+ if (tokenDecoded) {
114
+ this.user = {
115
+ name: tokenDecoded.user.firstName || tokenDecoded.user.sourceId
116
+ };
117
+ }
118
+ }
119
+ analyzeRoute() {
120
+ if (!this.router) {
121
+ return;
122
+ }
123
+ this.router.events
124
+ .pipe(filter((event) => event instanceof NavigationStart))
125
+ .subscribe((changeEvent) => {
126
+ if (changeEvent.url) {
127
+ const currentRoute = changeEvent.url;
128
+ const logoutRoute = this.options?.logoutRoute;
129
+ this.isLogoutRoute = currentRoute === logoutRoute;
130
+ if (this.isLogoutRoute) {
131
+ this.auth.logout();
132
+ }
133
+ }
134
+ });
135
+ }
136
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: AuthFormComponent, deps: [{ token: i1.AuthService }, { token: i2.ConfigService }, { token: i3.Router, optional: true }], target: i0.ɵɵFactoryTarget.Component });
137
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: AuthFormComponent, isStandalone: true, selector: "igo-auth-form", inputs: { backgroundDisable: "backgroundDisable", hasAlreadyConnectedDiv: "hasAlreadyConnectedDiv", hasLogoutDiv: "hasLogoutDiv", showAlreadyConnectedDiv: "showAlreadyConnectedDiv", showLogoutDiv: "showLogoutDiv" }, outputs: { login: "login" }, ngImport: i0, template: "<div *ngIf=\"visible\">\n <div\n *ngIf=\"!auth.logged && backgroundDisable\"\n class=\"backgroundDisable\"\n ></div>\n\n <div *ngIf=\"!auth.logged && showLoginDiv\" class=\"login center-block\">\n <h1>{{ 'igo.auth.connection' | translate }}</h1>\n\n <igo-auth-google\n *ngIf=\"options.google && options.google.enabled !== false\"\n (login)=\"onLogin()\"\n >\n </igo-auth-google>\n\n <igo-auth-microsoft\n *ngIf=\"options.microsoft && options.microsoft.enabled !== false\"\n (login)=\"onLogin()\"\n >\n </igo-auth-microsoft>\n\n <igo-auth-microsoftb2c\n *ngIf=\"options.microsoftb2c && options.microsoftb2c.enabled !== false\"\n (login)=\"onLogin()\"\n >\n </igo-auth-microsoftb2c>\n\n <igo-auth-facebook\n *ngIf=\"options.facebook && options.facebook.enabled !== false\"\n (login)=\"onLogin()\"\n >\n </igo-auth-facebook>\n\n <igo-auth-intern\n *ngIf=\"!options.intern || options.intern.enabled !== false\"\n [allowAnonymous]=\"options.allowAnonymous\"\n (login)=\"onLogin()\"\n >\n </igo-auth-intern>\n </div>\n\n <div\n *ngIf=\"auth.logged && showAlreadyConnectedDiv\"\n class=\"login center-block\"\n >\n <p>{{ 'igo.auth.welcome' | translate: user }}</p>\n <button mat-raised-button type=\"button\" (click)=\"logout()\">\n {{ 'igo.auth.signOut' | translate }}\n </button>\n </div>\n\n <div *ngIf=\"showLogoutDiv\" class=\"login center-block\">\n <p>{{ 'igo.auth.deconnection' | translate }}</p>\n <button\n *ngIf=\"options.homeRoute\"\n mat-raised-button\n type=\"button\"\n (click)=\"home()\"\n >\n {{ 'igo.auth.home' | translate }}\n </button>\n </div>\n</div>\n", styles: [":host{z-index:999}div.login{z-index:200;width:90%;min-width:360px;max-width:600px;padding:25px 50px;border:1px solid;background-color:#fff;border-color:#888}.center-block{position:fixed;top:20%;left:50%;transform:translate(-50%)}.backgroundDisable{position:fixed;top:0;left:0;background:#000;opacity:.8;z-index:100;height:100%;width:100%}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: AuthGoogleComponent, selector: "igo-auth-google", outputs: ["login"] }, { kind: "component", type: AuthMicrosoftComponent, selector: "igo-auth-microsoft", outputs: ["login"] }, { kind: "component", type: AuthMicrosoftb2cComponent, selector: "igo-auth-microsoftb2c", outputs: ["login"] }, { kind: "component", type: AuthFacebookComponent, selector: "igo-auth-facebook", outputs: ["login"] }, { kind: "component", type: AuthInternComponent, selector: "igo-auth-intern", inputs: ["allowAnonymous"], outputs: ["login"] }, { 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: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.Default });
138
+ }
139
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: AuthFormComponent, decorators: [{
140
+ type: Component,
141
+ args: [{ selector: 'igo-auth-form', changeDetection: ChangeDetectionStrategy.Default, standalone: true, imports: [
142
+ NgIf,
143
+ AuthGoogleComponent,
144
+ AuthMicrosoftComponent,
145
+ AuthMicrosoftb2cComponent,
146
+ AuthFacebookComponent,
147
+ AuthInternComponent,
148
+ MatButtonModule,
149
+ TranslateModule
150
+ ], template: "<div *ngIf=\"visible\">\n <div\n *ngIf=\"!auth.logged && backgroundDisable\"\n class=\"backgroundDisable\"\n ></div>\n\n <div *ngIf=\"!auth.logged && showLoginDiv\" class=\"login center-block\">\n <h1>{{ 'igo.auth.connection' | translate }}</h1>\n\n <igo-auth-google\n *ngIf=\"options.google && options.google.enabled !== false\"\n (login)=\"onLogin()\"\n >\n </igo-auth-google>\n\n <igo-auth-microsoft\n *ngIf=\"options.microsoft && options.microsoft.enabled !== false\"\n (login)=\"onLogin()\"\n >\n </igo-auth-microsoft>\n\n <igo-auth-microsoftb2c\n *ngIf=\"options.microsoftb2c && options.microsoftb2c.enabled !== false\"\n (login)=\"onLogin()\"\n >\n </igo-auth-microsoftb2c>\n\n <igo-auth-facebook\n *ngIf=\"options.facebook && options.facebook.enabled !== false\"\n (login)=\"onLogin()\"\n >\n </igo-auth-facebook>\n\n <igo-auth-intern\n *ngIf=\"!options.intern || options.intern.enabled !== false\"\n [allowAnonymous]=\"options.allowAnonymous\"\n (login)=\"onLogin()\"\n >\n </igo-auth-intern>\n </div>\n\n <div\n *ngIf=\"auth.logged && showAlreadyConnectedDiv\"\n class=\"login center-block\"\n >\n <p>{{ 'igo.auth.welcome' | translate: user }}</p>\n <button mat-raised-button type=\"button\" (click)=\"logout()\">\n {{ 'igo.auth.signOut' | translate }}\n </button>\n </div>\n\n <div *ngIf=\"showLogoutDiv\" class=\"login center-block\">\n <p>{{ 'igo.auth.deconnection' | translate }}</p>\n <button\n *ngIf=\"options.homeRoute\"\n mat-raised-button\n type=\"button\"\n (click)=\"home()\"\n >\n {{ 'igo.auth.home' | translate }}\n </button>\n </div>\n</div>\n", styles: [":host{z-index:999}div.login{z-index:200;width:90%;min-width:360px;max-width:600px;padding:25px 50px;border:1px solid;background-color:#fff;border-color:#888}.center-block{position:fixed;top:20%;left:50%;transform:translate(-50%)}.backgroundDisable{position:fixed;top:0;left:0;background:#000;opacity:.8;z-index:100;height:100%;width:100%}\n"] }]
151
+ }], ctorParameters: () => [{ type: i1.AuthService }, { type: i2.ConfigService }, { type: i3.Router, decorators: [{
152
+ type: Optional
153
+ }] }], propDecorators: { backgroundDisable: [{
154
+ type: Input
155
+ }], hasAlreadyConnectedDiv: [{
156
+ type: Input
157
+ }], hasLogoutDiv: [{
158
+ type: Input
159
+ }], showAlreadyConnectedDiv: [{
160
+ type: Input
161
+ }], showLogoutDiv: [{
162
+ type: Input
163
+ }], login: [{
164
+ type: Output
165
+ }] } });
166
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2F1dGgvZm9ybS9zcmMvYXV0aC1mb3JtL2F1dGgtZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hdXRoL2Zvcm0vc3JjL2F1dGgtZm9ybS9hdXRoLWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZDLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBRUwsUUFBUSxFQUNSLE1BQU0sRUFDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUxRCxPQUFPLEVBQWUsV0FBVyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3RELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzVELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzFELE9BQU8sRUFDTCxzQkFBc0IsRUFDdEIseUJBQXlCLEVBQzFCLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRWxELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7QUFxQnhDLE1BQU0sT0FBTyxpQkFBaUI7SUF1RW5CO0lBQ0M7SUFDWTtJQXhFdEIsSUFDSSxp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RUUsUUFBUTt5Q0F2RVAsaUJBQWlCO3NCQURwQixLQUFLO2dCQWFGLHNCQUFzQjtzQkFEekIsS0FBSztnQkFVRixZQUFZO3NCQURmLEtBQUs7Z0JBVUYsdUJBQXVCO3NCQUQxQixLQUFLO2dCQWFGLGFBQWE7c0JBRGhCLEtBQUs7Z0JBa0JJLEtBQUs7c0JBQWQsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPcHRpb25hbCxcbiAgT3V0cHV0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE5hdmlnYXRpb25TdGFydCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHsgQXV0aE9wdGlvbnMsIEF1dGhTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvYXV0aCc7XG5pbXBvcnQgeyBBdXRoRmFjZWJvb2tDb21wb25lbnQgfSBmcm9tICdAaWdvMi9hdXRoL2ZhY2Vib29rJztcbmltcG9ydCB7IEF1dGhHb29nbGVDb21wb25lbnQgfSBmcm9tICdAaWdvMi9hdXRoL2dvb2dsZSc7XG5pbXBvcnQgeyBBdXRoSW50ZXJuQ29tcG9uZW50IH0gZnJvbSAnQGlnbzIvYXV0aC9pbnRlcm5hbCc7XG5pbXBvcnQge1xuICBBdXRoTWljcm9zb2Z0Q29tcG9uZW50LFxuICBBdXRoTWljcm9zb2Z0YjJjQ29tcG9uZW50XG59IGZyb20gJ0BpZ28yL2F1dGgvbWljcm9zb2Z0JztcbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlL2NvbmZpZyc7XG5cbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBBdXRoRm9ybU9wdGlvbnMgfSBmcm9tICcuLi9zaGFyZWQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpZ28tYXV0aC1mb3JtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2F1dGgtZm9ybS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2F1dGgtZm9ybS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LkRlZmF1bHQsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBOZ0lmLFxuICAgIEF1dGhHb29nbGVDb21wb25lbnQsXG4gICAgQXV0aE1pY3Jvc29mdENvbXBvbmVudCxcbiAgICBBdXRoTWljcm9zb2Z0YjJjQ29tcG9uZW50LFxuICAgIEF1dGhGYWNlYm9va0NvbXBvbmVudCxcbiAgICBBdXRoSW50ZXJuQ29tcG9uZW50LFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBBdXRoRm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpXG4gIGdldCBiYWNrZ3JvdW5kRGlzYWJsZSgpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5pc0xvZ291dFJvdXRlIHx8IHRoaXMuaXNMb2dvdXRSb3V0ZSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fYmFja2dyb3VuZERpc2FibGU7XG4gIH1cbiAgc2V0IGJhY2tncm91bmREaXNhYmxlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fYmFja2dyb3VuZERpc2FibGUgPSB2YWx1ZS50b1N0cmluZygpID09PSAndHJ1ZSc7XG4gIH1cbiAgcHJpdmF0ZSBfYmFja2dyb3VuZERpc2FibGUgPSB0cnVlO1xuXG4gIEBJbnB1dCgpXG4gIGdldCBoYXNBbHJlYWR5Q29ubmVjdGVkRGl2KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9oYXNBbHJlYWR5Q29ubmVjdGVkRGl2O1xuICB9XG4gIHNldCBoYXNBbHJlYWR5Q29ubmVjdGVkRGl2KHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5faGFzQWxyZWFkeUNvbm5lY3RlZERpdiA9IHZhbHVlLnRvU3RyaW5nKCkgPT09ICd0cnVlJztcbiAgfVxuICBwcml2YXRlIF9oYXNBbHJlYWR5Q29ubmVjdGVkRGl2ID0gdHJ1ZTtcblxuICBASW5wdXQoKVxuICBnZXQgaGFzTG9nb3V0RGl2KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9oYXNMb2dvdXREaXY7XG4gIH1cbiAgc2V0IGhhc0xvZ291dERpdih2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2hhc0xvZ291dERpdiA9IHZhbHVlLnRvU3RyaW5nKCkgPT09ICd0cnVlJztcbiAgfVxuICBwcml2YXRlIF9oYXNMb2dvdXREaXYgPSB0cnVlO1xuXG4gIEBJbnB1dCgpXG4gIGdldCBzaG93QWxyZWFkeUNvbm5lY3RlZERpdigpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5pc0xvZ291dFJvdXRlKSB7XG4gICAgICByZXR1cm4gdGhpcy5oYXNBbHJlYWR5Q29ubmVjdGVkRGl2O1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fc2hvd0FscmVhZHlDb25uZWN0ZWREaXY7XG4gIH1cbiAgc2V0IHNob3dBbHJlYWR5Q29ubmVjdGVkRGl2KHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fc2hvd0FscmVhZHlDb25uZWN0ZWREaXYgPSB2YWx1ZS50b1N0cmluZygpID09PSAndHJ1ZSc7XG4gIH1cbiAgcHJpdmF0ZSBfc2hvd0FscmVhZHlDb25uZWN0ZWREaXYgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBnZXQgc2hvd0xvZ291dERpdigpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5pc0xvZ291dFJvdXRlKSB7XG4gICAgICByZXR1cm4gdGhpcy5oYXNMb2dvdXREaXY7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9zaG93TG9nb3V0RGl2O1xuICB9XG4gIHNldCBzaG93TG9nb3V0RGl2KHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fc2hvd0xvZ291dERpdiA9IHZhbHVlLnRvU3RyaW5nKCkgPT09ICd0cnVlJztcbiAgfVxuICBwcml2YXRlIF9zaG93TG9nb3V0RGl2ID0gZmFsc2U7XG5cbiAgZ2V0IHNob3dMb2dpbkRpdigpOiBib29sZWFuIHtcbiAgICBpZiAoIXRoaXMuaXNMb2dvdXRSb3V0ZSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG5cbiAgQE91dHB1dCgpIGxvZ2luOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgcHVibGljIG9wdGlvbnM/OiBBdXRoT3B0aW9ucyAmIEF1dGhGb3JtT3B0aW9ucztcbiAgcHVibGljIHVzZXI7XG5cbiAgcHVibGljIHZpc2libGUgPSB0cnVlO1xuXG4gIHByaXZhdGUgaXNMb2dvdXRSb3V0ZTogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgYXV0aDogQXV0aFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb25maWc6IENvbmZpZ1NlcnZpY2UsXG4gICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlclxuICApIHtcbiAgICB0aGlzLm9wdGlvbnMgPSB0aGlzLmNvbmZpZy5nZXRDb25maWcoJ2F1dGgnKTtcbiAgICB0aGlzLnZpc2libGUgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0aGlzLm9wdGlvbnMpLmxlbmd0aCAhPT0gMDtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmFuYWx5emVSb3V0ZSgpO1xuICAgIHRoaXMuZ2V0TmFtZSgpO1xuICB9XG5cbiAgcHVibGljIG9uTG9naW4oKSB7XG4gICAgdGhpcy5hdXRoLmdvVG9SZWRpcmVjdFVybCgpO1xuICAgIHRoaXMuZ2V0TmFtZSgpO1xuICAgIHRoaXMubG9naW4uZW1pdCh0cnVlKTtcbiAgfVxuXG4gIHB1YmxpYyBsb2dvdXQoKSB7XG4gICAgdGhpcy5hdXRoLmxvZ291dCgpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnVzZXIgPSB1bmRlZmluZWQ7XG4gICAgICBpZiAodGhpcy5yb3V0ZXIpIHtcbiAgICAgICAgaWYgKHRoaXMub3B0aW9ucz8ubG9nb3V0Um91dGUpIHtcbiAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbdGhpcy5vcHRpb25zPy5sb2dvdXRSb3V0ZV0pO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMub3B0aW9ucz8uaG9tZVJvdXRlKSB7XG4gICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3RoaXMub3B0aW9ucz8uaG9tZVJvdXRlXSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBob21lKCkge1xuICAgIGlmICh0aGlzLnJvdXRlciAmJiB0aGlzLm9wdGlvbnM/LmhvbWVSb3V0ZSkge1xuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3RoaXMub3B0aW9ucz8uaG9tZVJvdXRlXSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXROYW1lKCkge1xuICAgIGNvbnN0IHRva2VuRGVjb2RlZCA9IHRoaXMuYXV0aC5kZWNvZGVUb2tlbigpO1xuICAgIGlmICh0b2tlbkRlY29kZWQpIHtcbiAgICAgIHRoaXMudXNlciA9IHtcbiAgICAgICAgbmFtZTogdG9rZW5EZWNvZGVkLnVzZXIuZmlyc3ROYW1lIHx8IHRva2VuRGVjb2RlZC51c2VyLnNvdXJjZUlkXG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYW5hbHl6ZVJvdXRlKCkge1xuICAgIGlmICghdGhpcy5yb3V0ZXIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnJvdXRlci5ldmVudHNcbiAgICAgIC5waXBlKGZpbHRlcigoZXZlbnQpID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvblN0YXJ0KSlcbiAgICAgIC5zdWJzY3JpYmUoKGNoYW5nZUV2ZW50OiBhbnkpID0+IHtcbiAgICAgICAgaWYgKGNoYW5nZUV2ZW50LnVybCkge1xuICAgICAgICAgIGNvbnN0IGN1cnJlbnRSb3V0ZSA9IGNoYW5nZUV2ZW50LnVybDtcbiAgICAgICAgICBjb25zdCBsb2dvdXRSb3V0ZSA9IHRoaXMub3B0aW9ucz8ubG9nb3V0Um91dGU7XG5cbiAgICAgICAgICB0aGlzLmlzTG9nb3V0Um91dGUgPSBjdXJyZW50Um91dGUgPT09IGxvZ291dFJvdXRlO1xuXG4gICAgICAgICAgaWYgKHRoaXMuaXNMb2dvdXRSb3V0ZSkge1xuICAgICAgICAgICAgdGhpcy5hdXRoLmxvZ291dCgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCJ2aXNpYmxlXCI+XG4gIDxkaXZcbiAgICAqbmdJZj1cIiFhdXRoLmxvZ2dlZCAmJiBiYWNrZ3JvdW5kRGlzYWJsZVwiXG4gICAgY2xhc3M9XCJiYWNrZ3JvdW5kRGlzYWJsZVwiXG4gID48L2Rpdj5cblxuICA8ZGl2ICpuZ0lmPVwiIWF1dGgubG9nZ2VkICYmIHNob3dMb2dpbkRpdlwiIGNsYXNzPVwibG9naW4gY2VudGVyLWJsb2NrXCI+XG4gICAgPGgxPnt7ICdpZ28uYXV0aC5jb25uZWN0aW9uJyB8IHRyYW5zbGF0ZSB9fTwvaDE+XG5cbiAgICA8aWdvLWF1dGgtZ29vZ2xlXG4gICAgICAqbmdJZj1cIm9wdGlvbnMuZ29vZ2xlICYmIG9wdGlvbnMuZ29vZ2xlLmVuYWJsZWQgIT09IGZhbHNlXCJcbiAgICAgIChsb2dpbik9XCJvbkxvZ2luKClcIlxuICAgID5cbiAgICA8L2lnby1hdXRoLWdvb2dsZT5cblxuICAgIDxpZ28tYXV0aC1taWNyb3NvZnRcbiAgICAgICpuZ0lmPVwib3B0aW9ucy5taWNyb3NvZnQgJiYgb3B0aW9ucy5taWNyb3NvZnQuZW5hYmxlZCAhPT0gZmFsc2VcIlxuICAgICAgKGxvZ2luKT1cIm9uTG9naW4oKVwiXG4gICAgPlxuICAgIDwvaWdvLWF1dGgtbWljcm9zb2Z0PlxuXG4gICAgPGlnby1hdXRoLW1pY3Jvc29mdGIyY1xuICAgICAgKm5nSWY9XCJvcHRpb25zLm1pY3Jvc29mdGIyYyAmJiBvcHRpb25zLm1pY3Jvc29mdGIyYy5lbmFibGVkICE9PSBmYWxzZVwiXG4gICAgICAobG9naW4pPVwib25Mb2dpbigpXCJcbiAgICA+XG4gICAgPC9pZ28tYXV0aC1taWNyb3NvZnRiMmM+XG5cbiAgICA8aWdvLWF1dGgtZmFjZWJvb2tcbiAgICAgICpuZ0lmPVwib3B0aW9ucy5mYWNlYm9vayAmJiBvcHRpb25zLmZhY2Vib29rLmVuYWJsZWQgIT09IGZhbHNlXCJcbiAgICAgIChsb2dpbik9XCJvbkxvZ2luKClcIlxuICAgID5cbiAgICA8L2lnby1hdXRoLWZhY2Vib29rPlxuXG4gICAgPGlnby1hdXRoLWludGVyblxuICAgICAgKm5nSWY9XCIhb3B0aW9ucy5pbnRlcm4gfHwgb3B0aW9ucy5pbnRlcm4uZW5hYmxlZCAhPT0gZmFsc2VcIlxuICAgICAgW2FsbG93QW5vbnltb3VzXT1cIm9wdGlvbnMuYWxsb3dBbm9ueW1vdXNcIlxuICAgICAgKGxvZ2luKT1cIm9uTG9naW4oKVwiXG4gICAgPlxuICAgIDwvaWdvLWF1dGgtaW50ZXJuPlxuICA8L2Rpdj5cblxuICA8ZGl2XG4gICAgKm5nSWY9XCJhdXRoLmxvZ2dlZCAmJiBzaG93QWxyZWFkeUNvbm5lY3RlZERpdlwiXG4gICAgY2xhc3M9XCJsb2dpbiBjZW50ZXItYmxvY2tcIlxuICA+XG4gICAgPHA+e3sgJ2lnby5hdXRoLndlbGNvbWUnIHwgdHJhbnNsYXRlOiB1c2VyIH19PC9wPlxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJsb2dvdXQoKVwiPlxuICAgICAge3sgJ2lnby5hdXRoLnNpZ25PdXQnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuXG4gIDxkaXYgKm5nSWY9XCJzaG93TG9nb3V0RGl2XCIgY2xhc3M9XCJsb2dpbiBjZW50ZXItYmxvY2tcIj5cbiAgICA8cD57eyAnaWdvLmF1dGguZGVjb25uZWN0aW9uJyB8IHRyYW5zbGF0ZSB9fTwvcD5cbiAgICA8YnV0dG9uXG4gICAgICAqbmdJZj1cIm9wdGlvbnMuaG9tZVJvdXRlXCJcbiAgICAgIG1hdC1yYWlzZWQtYnV0dG9uXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIChjbGljayk9XCJob21lKClcIlxuICAgID5cbiAgICAgIHt7ICdpZ28uYXV0aC5ob21lJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -0,0 +1,95 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { HTTP_INTERCEPTORS } from '@angular/common/http';
3
+ import { NgModule } from '@angular/core';
4
+ import { ReactiveFormsModule } from '@angular/forms';
5
+ import { MatButtonModule } from '@angular/material/button';
6
+ import { MatFormFieldModule } from '@angular/material/form-field';
7
+ import { MatIconModule } from '@angular/material/icon';
8
+ import { MatInputModule } from '@angular/material/input';
9
+ import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
10
+ import { AuthInterceptor } from '@igo2/auth';
11
+ import { AuthFacebookComponent } from '@igo2/auth/facebook';
12
+ import { AuthGoogleComponent } from '@igo2/auth/google';
13
+ import { AuthInternComponent } from '@igo2/auth/internal';
14
+ import { AuthMicrosoftComponent, AuthMicrosoftb2cComponent, provideAuthMicrosoft } from '@igo2/auth/microsoft';
15
+ import { IgoLanguageModule } from '@igo2/core/language';
16
+ import { StorageService } from '@igo2/core/storage';
17
+ import { MsalModule } from '@azure/msal-angular';
18
+ import { AuthFormComponent } from './auth-form/auth-form.component';
19
+ import { AuthStorageService } from './shared/auth-storage.service';
20
+ import * as i0 from "@angular/core";
21
+ export class IgoAuthFormModule {
22
+ static forRoot() {
23
+ return {
24
+ ngModule: IgoAuthFormModule,
25
+ providers: [
26
+ {
27
+ provide: HTTP_INTERCEPTORS,
28
+ useClass: AuthInterceptor,
29
+ multi: true
30
+ },
31
+ {
32
+ provide: StorageService,
33
+ useClass: AuthStorageService
34
+ },
35
+ ...provideAuthMicrosoft('add'),
36
+ ...provideAuthMicrosoft('b2c')
37
+ ]
38
+ };
39
+ }
40
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: IgoAuthFormModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
41
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.2.4", ngImport: i0, type: IgoAuthFormModule, imports: [CommonModule,
42
+ ReactiveFormsModule,
43
+ MatFormFieldModule,
44
+ MatInputModule,
45
+ MatIconModule,
46
+ MatProgressSpinnerModule,
47
+ MatButtonModule,
48
+ IgoLanguageModule,
49
+ MsalModule,
50
+ AuthFormComponent,
51
+ AuthGoogleComponent,
52
+ AuthInternComponent,
53
+ AuthFacebookComponent,
54
+ AuthMicrosoftComponent,
55
+ AuthMicrosoftb2cComponent], exports: [AuthFormComponent] });
56
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: IgoAuthFormModule, imports: [CommonModule,
57
+ ReactiveFormsModule,
58
+ MatFormFieldModule,
59
+ MatInputModule,
60
+ MatIconModule,
61
+ MatProgressSpinnerModule,
62
+ MatButtonModule,
63
+ IgoLanguageModule,
64
+ MsalModule,
65
+ AuthFormComponent,
66
+ AuthGoogleComponent,
67
+ AuthInternComponent,
68
+ AuthFacebookComponent,
69
+ AuthMicrosoftComponent,
70
+ AuthMicrosoftb2cComponent] });
71
+ }
72
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: IgoAuthFormModule, decorators: [{
73
+ type: NgModule,
74
+ args: [{
75
+ imports: [
76
+ CommonModule,
77
+ ReactiveFormsModule,
78
+ MatFormFieldModule,
79
+ MatInputModule,
80
+ MatIconModule,
81
+ MatProgressSpinnerModule,
82
+ MatButtonModule,
83
+ IgoLanguageModule,
84
+ MsalModule,
85
+ AuthFormComponent,
86
+ AuthGoogleComponent,
87
+ AuthInternComponent,
88
+ AuthFacebookComponent,
89
+ AuthMicrosoftComponent,
90
+ AuthMicrosoftb2cComponent
91
+ ],
92
+ exports: [AuthFormComponent]
93
+ }]
94
+ }] });
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1mb3JtLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2F1dGgvZm9ybS9zcmMvYXV0aC1mb3JtLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFOUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUM3QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMxRCxPQUFPLEVBQ0wsc0JBQXNCLEVBQ3RCLHlCQUF5QixFQUN6QixvQkFBb0IsRUFDckIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFcEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRWpELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLCtCQUErQixDQUFDOztBQXNCbkUsTUFBTSxPQUFPLGlCQUFpQjtJQUM1QixNQUFNLENBQUMsT0FBTztRQUNaLE9BQU87WUFDTCxRQUFRLEVBQUUsaUJBQWlCO1lBQzNCLFNBQVMsRUFBRTtnQkFDVDtvQkFDRSxPQUFPLEVBQUUsaUJBQWlCO29CQUMxQixRQUFRLEVBQUUsZUFBZTtvQkFDekIsS0FBSyxFQUFFLElBQUk7aUJBQ1o7Z0JBQ0Q7b0JBQ0UsT0FBTyxFQUFFLGNBQWM7b0JBQ3ZCLFFBQVEsRUFBRSxrQkFBa0I7aUJBQzdCO2dCQUNELEdBQUcsb0JBQW9CLENBQUMsS0FBSyxDQUFDO2dCQUM5QixHQUFHLG9CQUFvQixDQUFDLEtBQUssQ0FBQzthQUMvQjtTQUNGLENBQUM7SUFDSixDQUFDO3VHQWxCVSxpQkFBaUI7d0dBQWpCLGlCQUFpQixZQWxCMUIsWUFBWTtZQUNaLG1CQUFtQjtZQUNuQixrQkFBa0I7WUFDbEIsY0FBYztZQUNkLGFBQWE7WUFDYix3QkFBd0I7WUFDeEIsZUFBZTtZQUNmLGlCQUFpQjtZQUNqQixVQUFVO1lBQ1YsaUJBQWlCO1lBQ2pCLG1CQUFtQjtZQUNuQixtQkFBbUI7WUFDbkIscUJBQXFCO1lBQ3JCLHNCQUFzQjtZQUN0Qix5QkFBeUIsYUFFakIsaUJBQWlCO3dHQUVoQixpQkFBaUIsWUFsQjFCLFlBQVk7WUFDWixtQkFBbUI7WUFDbkIsa0JBQWtCO1lBQ2xCLGNBQWM7WUFDZCxhQUFhO1lBQ2Isd0JBQXdCO1lBQ3hCLGVBQWU7WUFDZixpQkFBaUI7WUFDakIsVUFBVTtZQUNWLGlCQUFpQjtZQUNqQixtQkFBbUI7WUFDbkIsbUJBQW1CO1lBQ25CLHFCQUFxQjtZQUNyQixzQkFBc0I7WUFDdEIseUJBQXlCOzsyRkFJaEIsaUJBQWlCO2tCQXBCN0IsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixtQkFBbUI7d0JBQ25CLGtCQUFrQjt3QkFDbEIsY0FBYzt3QkFDZCxhQUFhO3dCQUNiLHdCQUF3Qjt3QkFDeEIsZUFBZTt3QkFDZixpQkFBaUI7d0JBQ2pCLFVBQVU7d0JBQ1YsaUJBQWlCO3dCQUNqQixtQkFBbUI7d0JBQ25CLG1CQUFtQjt3QkFDbkIscUJBQXFCO3dCQUNyQixzQkFBc0I7d0JBQ3RCLHlCQUF5QjtxQkFDMUI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsaUJBQWlCLENBQUM7aUJBQzdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEhUVFBfSU5URVJDRVBUT1JTIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLXNwaW5uZXInO1xuXG5pbXBvcnQgeyBBdXRoSW50ZXJjZXB0b3IgfSBmcm9tICdAaWdvMi9hdXRoJztcbmltcG9ydCB7IEF1dGhGYWNlYm9va0NvbXBvbmVudCB9IGZyb20gJ0BpZ28yL2F1dGgvZmFjZWJvb2snO1xuaW1wb3J0IHsgQXV0aEdvb2dsZUNvbXBvbmVudCB9IGZyb20gJ0BpZ28yL2F1dGgvZ29vZ2xlJztcbmltcG9ydCB7IEF1dGhJbnRlcm5Db21wb25lbnQgfSBmcm9tICdAaWdvMi9hdXRoL2ludGVybmFsJztcbmltcG9ydCB7XG4gIEF1dGhNaWNyb3NvZnRDb21wb25lbnQsXG4gIEF1dGhNaWNyb3NvZnRiMmNDb21wb25lbnQsXG4gIHByb3ZpZGVBdXRoTWljcm9zb2Z0XG59IGZyb20gJ0BpZ28yL2F1dGgvbWljcm9zb2Z0JztcbmltcG9ydCB7IElnb0xhbmd1YWdlTW9kdWxlIH0gZnJvbSAnQGlnbzIvY29yZS9sYW5ndWFnZSc7XG5pbXBvcnQgeyBTdG9yYWdlU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUvc3RvcmFnZSc7XG5cbmltcG9ydCB7IE1zYWxNb2R1bGUgfSBmcm9tICdAYXp1cmUvbXNhbC1hbmd1bGFyJztcblxuaW1wb3J0IHsgQXV0aEZvcm1Db21wb25lbnQgfSBmcm9tICcuL2F1dGgtZm9ybS9hdXRoLWZvcm0uY29tcG9uZW50JztcbmltcG9ydCB7IEF1dGhTdG9yYWdlU2VydmljZSB9IGZyb20gJy4vc2hhcmVkL2F1dGgtc3RvcmFnZS5zZXJ2aWNlJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcbiAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSxcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgSWdvTGFuZ3VhZ2VNb2R1bGUsXG4gICAgTXNhbE1vZHVsZSxcbiAgICBBdXRoRm9ybUNvbXBvbmVudCxcbiAgICBBdXRoR29vZ2xlQ29tcG9uZW50LFxuICAgIEF1dGhJbnRlcm5Db21wb25lbnQsXG4gICAgQXV0aEZhY2Vib29rQ29tcG9uZW50LFxuICAgIEF1dGhNaWNyb3NvZnRDb21wb25lbnQsXG4gICAgQXV0aE1pY3Jvc29mdGIyY0NvbXBvbmVudFxuICBdLFxuICBleHBvcnRzOiBbQXV0aEZvcm1Db21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIElnb0F1dGhGb3JtTW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3QoKTogTW9kdWxlV2l0aFByb3ZpZGVyczxJZ29BdXRoRm9ybU1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogSWdvQXV0aEZvcm1Nb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IEhUVFBfSU5URVJDRVBUT1JTLFxuICAgICAgICAgIHVzZUNsYXNzOiBBdXRoSW50ZXJjZXB0b3IsXG4gICAgICAgICAgbXVsdGk6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IFN0b3JhZ2VTZXJ2aWNlLFxuICAgICAgICAgIHVzZUNsYXNzOiBBdXRoU3RvcmFnZVNlcnZpY2VcbiAgICAgICAgfSxcbiAgICAgICAgLi4ucHJvdmlkZUF1dGhNaWNyb3NvZnQoJ2FkZCcpLFxuICAgICAgICAuLi5wcm92aWRlQXV0aE1pY3Jvc29mdCgnYjJjJylcbiAgICAgIF1cbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public_api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWdvMi1hdXRoLWZvcm0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9hdXRoL2Zvcm0vc3JjL2lnbzItYXV0aC1mb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljX2FwaSc7XG4iXX0=
@@ -0,0 +1,9 @@
1
+ /*
2
+ * Public API Surface of auth
3
+ */
4
+ export * from './shared/auth-form.interface';
5
+ export * from './shared/auth-storage.interface';
6
+ export * from './shared/auth-storage.service';
7
+ export * from './auth-form.module';
8
+ export * from './auth-form/auth-form.component';
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2F1dGgvZm9ybS9zcmMvcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsb0JBQW9CLENBQUM7QUFFbkMsY0FBYyxpQ0FBaUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgYXV0aFxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL2F1dGgtZm9ybS5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvYXV0aC1zdG9yYWdlLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZC9hdXRoLXN0b3JhZ2Uuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2F1dGgtZm9ybS5tb2R1bGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2F1dGgtZm9ybS9hdXRoLWZvcm0uY29tcG9uZW50JztcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1mb3JtLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2F1dGgvZm9ybS9zcmMvc2hhcmVkL2F1dGgtZm9ybS5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEF1dGhGYWNlYm9va09wdGlvbnMgfSBmcm9tICdAaWdvMi9hdXRoL2ZhY2Vib29rJztcbmltcG9ydCB7IEF1dGhHb29nbGVPcHRpb25zIH0gZnJvbSAnQGlnbzIvYXV0aC9nb29nbGUnO1xuaW1wb3J0IHtcbiAgQXV0aE1pY3Jvc29mdE9wdGlvbnMsXG4gIEF1dGhNaWNyb3NvZnRiMmNPcHRpb25zXG59IGZyb20gJ0BpZ28yL2F1dGgvbWljcm9zb2Z0JztcblxuZXhwb3J0IHR5cGUgQXV0aEZvcm1PcHRpb25zID0ge1xuICBmYWNlYm9vaz86IEF1dGhGYWNlYm9va09wdGlvbnM7XG4gIGdvb2dsZT86IEF1dGhHb29nbGVPcHRpb25zO1xuICBtaWNyb3NvZnQ/OiBBdXRoTWljcm9zb2Z0T3B0aW9ucztcbiAgbWljcm9zb2Z0YjJjPzogQXV0aE1pY3Jvc29mdGIyY09wdGlvbnM7XG59O1xuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1zdG9yYWdlLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2F1dGgvZm9ybS9zcmMvc2hhcmVkL2F1dGgtc3RvcmFnZS5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN0b3JhZ2VPcHRpb25zIH0gZnJvbSAnQGlnbzIvY29yZS9zdG9yYWdlJztcblxuZXhwb3J0IGludGVyZmFjZSBBdXRoU3RvcmFnZU9wdGlvbnMgZXh0ZW5kcyBTdG9yYWdlT3B0aW9ucyB7XG4gIHVybDogc3RyaW5nO1xufVxuIl19
@@ -0,0 +1,98 @@
1
+ import { HttpClient } from '@angular/common/http';
2
+ import { Injectable } from '@angular/core';
3
+ import { AuthService, TokenService } from '@igo2/auth';
4
+ import { ConfigService } from '@igo2/core/config';
5
+ import { BaseStorage, StorageScope } from '@igo2/core/storage';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@igo2/core/config";
8
+ import * as i2 from "@angular/common/http";
9
+ import * as i3 from "@igo2/auth";
10
+ export class AuthStorageService extends BaseStorage {
11
+ http;
12
+ authService;
13
+ tokenService;
14
+ constructor(config, http, authService, tokenService) {
15
+ super(config);
16
+ this.http = http;
17
+ this.authService = authService;
18
+ this.tokenService = tokenService;
19
+ this.authService.authenticate$.subscribe((isAuthenticated) => {
20
+ if (isAuthenticated && this.options.url) {
21
+ this.http
22
+ .get(this.options.url)
23
+ .subscribe((userIgo) => {
24
+ if (userIgo && userIgo.preference) {
25
+ for (const key of Object.keys(userIgo.preference)) {
26
+ const value = userIgo.preference[key];
27
+ super.set(key, value);
28
+ }
29
+ }
30
+ });
31
+ }
32
+ });
33
+ }
34
+ set(key, value, scope = StorageScope.LOCAL) {
35
+ if (scope === StorageScope.LOCAL &&
36
+ this.authService.authenticated &&
37
+ this.options.url) {
38
+ const preference = {};
39
+ preference[key] = value;
40
+ this.http.patch(this.options.url, { preference }).subscribe();
41
+ }
42
+ super.set(key, value, scope);
43
+ }
44
+ remove(key, scope = StorageScope.LOCAL) {
45
+ if (scope === StorageScope.LOCAL &&
46
+ this.authService.authenticated &&
47
+ this.options.url) {
48
+ const preference = {};
49
+ preference[key] = undefined;
50
+ this.http.patch(this.options.url, { preference }).subscribe();
51
+ }
52
+ super.remove(key, scope);
53
+ }
54
+ clear(scope = StorageScope.LOCAL) {
55
+ if (scope === StorageScope.LOCAL &&
56
+ this.authService.authenticated &&
57
+ this.options.url) {
58
+ this.http
59
+ .patch(this.options.url, { preference: {} }, {
60
+ params: {
61
+ mergePreference: 'false'
62
+ }
63
+ })
64
+ .subscribe();
65
+ }
66
+ let token;
67
+ if (scope === StorageScope.LOCAL) {
68
+ token = this.tokenService.get();
69
+ }
70
+ super.clear(scope);
71
+ if (token) {
72
+ this.tokenService.set(token);
73
+ }
74
+ if (scope === StorageScope.LOCAL &&
75
+ this.authService.authenticated &&
76
+ this.options.url) {
77
+ this.http
78
+ .get(this.options.url)
79
+ .subscribe((userIgo) => {
80
+ if (userIgo && userIgo.preference) {
81
+ for (const key of Object.keys(userIgo.preference)) {
82
+ const value = userIgo.preference[key];
83
+ super.set(key, value);
84
+ }
85
+ }
86
+ });
87
+ }
88
+ }
89
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: AuthStorageService, deps: [{ token: i1.ConfigService }, { token: i2.HttpClient }, { token: i3.AuthService }, { token: i3.TokenService }], target: i0.ɵɵFactoryTarget.Injectable });
90
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: AuthStorageService, providedIn: 'root' });
91
+ }
92
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: AuthStorageService, decorators: [{
93
+ type: Injectable,
94
+ args: [{
95
+ providedIn: 'root'
96
+ }]
97
+ }], ctorParameters: () => [{ type: i1.ConfigService }, { type: i2.HttpClient }, { type: i3.AuthService }, { type: i3.TokenService }] });
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1zdG9yYWdlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hdXRoL2Zvcm0vc3JjL3NoYXJlZC9hdXRoLXN0b3JhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7Ozs7QUFPL0QsTUFBTSxPQUFPLGtCQUFtQixTQUFRLFdBQStCO0lBRzNEO0lBQ0E7SUFDQTtJQUpWLFlBQ0UsTUFBcUIsRUFDYixJQUFnQixFQUNoQixXQUF3QixFQUN4QixZQUEwQjtRQUVsQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFKTixTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBSWxDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDLGVBQWUsRUFBRSxFQUFFO1lBQzNELElBQUksZUFBZSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7Z0JBQ3hDLElBQUksQ0FBQyxJQUFJO3FCQUNOLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQztxQkFDckIsU0FBUyxDQUFDLENBQUMsT0FBK0IsRUFBRSxFQUFFO29CQUM3QyxJQUFJLE9BQU8sSUFBSSxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUM7d0JBQ2xDLEtBQUss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aUJBQ04sR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDO2lCQUNyQixTQUFTLENBQUMsQ0FBQyxPQUErQixFQUFFLEVBQUU7Z0JBQzdDLElBQUksT0FBTyxJQUFJLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQztvQkFDbEMsS0FBSyxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO3dCQUNsRCxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO3dCQUN0QyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztvQkFDeEIsQ0FBQztnQkFDSCxDQUFDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDO0lBQ0gsQ0FBQzt1R0FyR1Usa0JBQWtCOzJHQUFsQixrQkFBa0IsY0FGakIsTUFBTTs7MkZBRVAsa0JBQWtCO2tCQUg5QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEF1dGhTZXJ2aWNlLCBUb2tlblNlcnZpY2UgfSBmcm9tICdAaWdvMi9hdXRoJztcbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlL2NvbmZpZyc7XG5pbXBvcnQgeyBCYXNlU3RvcmFnZSwgU3RvcmFnZVNjb3BlIH0gZnJvbSAnQGlnbzIvY29yZS9zdG9yYWdlJztcblxuaW1wb3J0IHsgQXV0aFN0b3JhZ2VPcHRpb25zIH0gZnJvbSAnLi9hdXRoLXN0b3JhZ2UuaW50ZXJmYWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQXV0aFN0b3JhZ2VTZXJ2aWNlIGV4dGVuZHMgQmFzZVN0b3JhZ2U8QXV0aFN0b3JhZ2VPcHRpb25zPiB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIGNvbmZpZzogQ29uZmlnU2VydmljZSxcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0b2tlblNlcnZpY2U6IFRva2VuU2VydmljZVxuICApIHtcbiAgICBzdXBlcihjb25maWcpO1xuXG4gICAgdGhpcy5hdXRoU2VydmljZS5hdXRoZW50aWNhdGUkLnN1YnNjcmliZSgoaXNBdXRoZW50aWNhdGVkKSA9PiB7XG4gICAgICBpZiAoaXNBdXRoZW50aWNhdGVkICYmIHRoaXMub3B0aW9ucy51cmwpIHtcbiAgICAgICAgdGhpcy5odHRwXG4gICAgICAgICAgLmdldCh0aGlzLm9wdGlvbnMudXJsKVxuICAgICAgICAgIC5zdWJzY3JpYmUoKHVzZXJJZ286IHsgcHJlZmVyZW5jZTogb2JqZWN0IH0pID0+IHtcbiAgICAgICAgICAgIGlmICh1c2VySWdvICYmIHVzZXJJZ28ucHJlZmVyZW5jZSkge1xuICAgICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyh1c2VySWdvLnByZWZlcmVuY2UpKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSB1c2VySWdvLnByZWZlcmVuY2Vba2V5XTtcbiAgICAgICAgICAgICAgICBzdXBlci5zZXQoa2V5LCB2YWx1ZSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHNldChcbiAgICBrZXk6IHN0cmluZyxcbiAgICB2YWx1ZTogc3RyaW5nIHwgb2JqZWN0IHwgYm9vbGVhbiB8IG51bWJlcixcbiAgICBzY29wZTogU3RvcmFnZVNjb3BlID0gU3RvcmFnZVNjb3BlLkxPQ0FMXG4gICkge1xuICAgIGlmIChcbiAgICAgIHNjb3BlID09PSBTdG9yYWdlU2NvcGUuTE9DQUwgJiZcbiAgICAgIHRoaXMuYXV0aFNlcnZpY2UuYXV0aGVudGljYXRlZCAmJlxuICAgICAgdGhpcy5vcHRpb25zLnVybFxuICAgICkge1xuICAgICAgY29uc3QgcHJlZmVyZW5jZSA9IHt9O1xuICAgICAgcHJlZmVyZW5jZVtrZXldID0gdmFsdWU7XG4gICAgICB0aGlzLmh0dHAucGF0Y2godGhpcy5vcHRpb25zLnVybCwgeyBwcmVmZXJlbmNlIH0pLnN1YnNjcmliZSgpO1xuICAgIH1cbiAgICBzdXBlci5zZXQoa2V5LCB2YWx1ZSwgc2NvcGUpO1xuICB9XG5cbiAgcmVtb3ZlKGtleTogc3RyaW5nLCBzY29wZTogU3RvcmFnZVNjb3BlID0gU3RvcmFnZVNjb3BlLkxPQ0FMKSB7XG4gICAgaWYgKFxuICAgICAgc2NvcGUgPT09IFN0b3JhZ2VTY29wZS5MT0NBTCAmJlxuICAgICAgdGhpcy5hdXRoU2VydmljZS5hdXRoZW50aWNhdGVkICYmXG4gICAgICB0aGlzLm9wdGlvbnMudXJsXG4gICAgKSB7XG4gICAgICBjb25zdCBwcmVmZXJlbmNlID0ge307XG4gICAgICBwcmVmZXJlbmNlW2tleV0gPSB1bmRlZmluZWQ7XG4gICAgICB0aGlzLmh0dHAucGF0Y2godGhpcy5vcHRpb25zLnVybCwgeyBwcmVmZXJlbmNlIH0pLnN1YnNjcmliZSgpO1xuICAgIH1cbiAgICBzdXBlci5yZW1vdmUoa2V5LCBzY29wZSk7XG4gIH1cblxuICBjbGVhcihzY29wZTogU3RvcmFnZVNjb3BlID0gU3RvcmFnZVNjb3BlLkxPQ0FMKSB7XG4gICAgaWYgKFxuICAgICAgc2NvcGUgPT09IFN0b3JhZ2VTY29wZS5MT0NBTCAmJlxuICAgICAgdGhpcy5hdXRoU2VydmljZS5hdXRoZW50aWNhdGVkICYmXG4gICAgICB0aGlzLm9wdGlvbnMudXJsXG4gICAgKSB7XG4gICAgICB0aGlzLmh0dHBcbiAgICAgICAgLnBhdGNoKFxuICAgICAgICAgIHRoaXMub3B0aW9ucy51cmwsXG4gICAgICAgICAgeyBwcmVmZXJlbmNlOiB7fSB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHBhcmFtczoge1xuICAgICAgICAgICAgICBtZXJnZVByZWZlcmVuY2U6ICdmYWxzZSdcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIGxldCB0b2tlbjogc3RyaW5nO1xuICAgIGlmIChzY29wZSA9PT0gU3RvcmFnZVNjb3BlLkxPQ0FMKSB7XG4gICAgICB0b2tlbiA9IHRoaXMudG9rZW5TZXJ2aWNlLmdldCgpO1xuICAgIH1cblxuICAgIHN1cGVyLmNsZWFyKHNjb3BlKTtcblxuICAgIGlmICh0b2tlbikge1xuICAgICAgdGhpcy50b2tlblNlcnZpY2Uuc2V0KHRva2VuKTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICBzY29wZSA9PT0gU3RvcmFnZVNjb3BlLkxPQ0FMICYmXG4gICAgICB0aGlzLmF1dGhTZXJ2aWNlLmF1dGhlbnRpY2F0ZWQgJiZcbiAgICAgIHRoaXMub3B0aW9ucy51cmxcbiAgICApIHtcbiAgICAgIHRoaXMuaHR0cFxuICAgICAgICAuZ2V0KHRoaXMub3B0aW9ucy51cmwpXG4gICAgICAgIC5zdWJzY3JpYmUoKHVzZXJJZ286IHsgcHJlZmVyZW5jZTogb2JqZWN0IH0pID0+IHtcbiAgICAgICAgICBpZiAodXNlcklnbyAmJiB1c2VySWdvLnByZWZlcmVuY2UpIHtcbiAgICAgICAgICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKHVzZXJJZ28ucHJlZmVyZW5jZSkpIHtcbiAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSB1c2VySWdvLnByZWZlcmVuY2Vba2V5XTtcbiAgICAgICAgICAgICAgc3VwZXIuc2V0KGtleSwgdmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -0,0 +1,4 @@
1
+ export * from './auth-form.interface';
2
+ export * from './auth-storage.interface';
3
+ export * from './auth-storage.service';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hdXRoL2Zvcm0vc3JjL3NoYXJlZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyx3QkFBd0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYXV0aC1mb3JtLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2F1dGgtc3RvcmFnZS5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9hdXRoLXN0b3JhZ2Uuc2VydmljZSc7XG4iXX0=