@igo2/auth 1.15.4 → 16.0.0-rc.0

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 (76) hide show
  1. package/{esm2020 → esm2022}/igo2-auth.mjs +4 -4
  2. package/esm2022/lib/auth-form/auth-facebook.component.mjs +67 -0
  3. package/esm2022/lib/auth-form/auth-form.component.mjs +286 -0
  4. package/esm2022/lib/auth-form/auth-google.component.mjs +108 -0
  5. package/esm2022/lib/auth-form/auth-intern.component.mjs +134 -0
  6. package/esm2022/lib/auth-form/auth-microsoft.component.mjs +107 -0
  7. package/esm2022/lib/auth-form/auth-microsoftb2c.component.mjs +105 -0
  8. package/{esm2020 → esm2022}/lib/auth-form/index.mjs +5 -5
  9. package/{esm2020 → esm2022}/lib/auth-routing.module.mjs +24 -24
  10. package/{esm2020 → esm2022}/lib/auth.module.mjs +91 -91
  11. package/esm2022/lib/shared/admin.guard.mjs +39 -0
  12. package/esm2022/lib/shared/auth-microsoft.provider.mjs +86 -0
  13. package/esm2022/lib/shared/auth-msalBroadcastServiceb2c.service.mjs +47 -0
  14. package/esm2022/lib/shared/auth-msalServiceb2c.service..mjs +85 -0
  15. package/esm2022/lib/shared/auth.guard.mjs +38 -0
  16. package/esm2022/lib/shared/auth.interceptor.mjs +164 -0
  17. package/{esm2020 → esm2022}/lib/shared/auth.interface.mjs +2 -2
  18. package/esm2022/lib/shared/auth.service.mjs +168 -0
  19. package/esm2022/lib/shared/logged.guard.mjs +38 -0
  20. package/esm2022/lib/shared/profils.guard.mjs +43 -0
  21. package/esm2022/lib/shared/protected.directive.mjs +20 -0
  22. package/{esm2020 → esm2022}/lib/shared/storage.interface.mjs +1 -1
  23. package/esm2022/lib/shared/storage.service.mjs +99 -0
  24. package/esm2022/lib/shared/token.service.mjs +48 -0
  25. package/{esm2020 → esm2022}/public_api.mjs +18 -18
  26. package/{fesm2020 → fesm2022}/igo2-auth.mjs +1573 -1477
  27. package/fesm2022/igo2-auth.mjs.map +1 -0
  28. package/index.d.ts +5 -5
  29. package/lib/auth-form/auth-facebook.component.d.ts +18 -18
  30. package/lib/auth-form/auth-form.component.d.ts +42 -42
  31. package/lib/auth-form/auth-google.component.d.ts +24 -24
  32. package/lib/auth-form/auth-intern.component.d.ts +21 -21
  33. package/lib/auth-form/auth-microsoft.component.d.ts +23 -23
  34. package/lib/auth-form/auth-microsoftb2c.component.d.ts +23 -23
  35. package/lib/auth-form/index.d.ts +4 -4
  36. package/lib/auth-routing.module.d.ts +7 -7
  37. package/lib/auth.module.d.ts +23 -23
  38. package/lib/shared/admin.guard.d.ts +13 -13
  39. package/lib/shared/auth-microsoft.provider.d.ts +30 -30
  40. package/lib/shared/auth-msalBroadcastServiceb2c.service.d.ts +15 -15
  41. package/lib/shared/auth-msalServiceb2c.service..d.ts +33 -33
  42. package/lib/shared/auth.guard.d.ts +13 -13
  43. package/lib/shared/auth.interceptor.d.ts +24 -24
  44. package/lib/shared/auth.interface.d.ts +99 -99
  45. package/lib/shared/auth.service.d.ts +44 -44
  46. package/lib/shared/logged.guard.d.ts +13 -13
  47. package/lib/shared/profils.guard.d.ts +13 -13
  48. package/lib/shared/protected.directive.d.ts +8 -8
  49. package/lib/shared/storage.interface.d.ts +4 -4
  50. package/lib/shared/storage.service.d.ts +17 -18
  51. package/lib/shared/token.service.d.ts +15 -15
  52. package/locale/en.auth.json +28 -0
  53. package/locale/fr.auth.json +32 -0
  54. package/package.json +18 -25
  55. package/public_api.d.ts +15 -15
  56. package/esm2020/lib/auth-form/auth-facebook.component.mjs +0 -61
  57. package/esm2020/lib/auth-form/auth-form.component.mjs +0 -277
  58. package/esm2020/lib/auth-form/auth-google.component.mjs +0 -99
  59. package/esm2020/lib/auth-form/auth-intern.component.mjs +0 -119
  60. package/esm2020/lib/auth-form/auth-microsoft.component.mjs +0 -94
  61. package/esm2020/lib/auth-form/auth-microsoftb2c.component.mjs +0 -93
  62. package/esm2020/lib/shared/admin.guard.mjs +0 -33
  63. package/esm2020/lib/shared/auth-microsoft.provider.mjs +0 -84
  64. package/esm2020/lib/shared/auth-msalBroadcastServiceb2c.service.mjs +0 -38
  65. package/esm2020/lib/shared/auth-msalServiceb2c.service..mjs +0 -80
  66. package/esm2020/lib/shared/auth.guard.mjs +0 -32
  67. package/esm2020/lib/shared/auth.interceptor.mjs +0 -155
  68. package/esm2020/lib/shared/auth.service.mjs +0 -158
  69. package/esm2020/lib/shared/logged.guard.mjs +0 -32
  70. package/esm2020/lib/shared/profils.guard.mjs +0 -37
  71. package/esm2020/lib/shared/protected.directive.mjs +0 -19
  72. package/esm2020/lib/shared/storage.service.mjs +0 -91
  73. package/esm2020/lib/shared/token.service.mjs +0 -47
  74. package/fesm2015/igo2-auth.mjs +0 -1655
  75. package/fesm2015/igo2-auth.mjs.map +0 -1
  76. package/fesm2020/igo2-auth.mjs.map +0 -1
@@ -0,0 +1,134 @@
1
+ import { Component, ChangeDetectionStrategy, Input, Output, EventEmitter } from '@angular/core';
2
+ import { Validators, UntypedFormBuilder } from '@angular/forms';
3
+ import { AuthService } from '../shared/auth.service';
4
+ import { LanguageService } from '@igo2/core';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "../shared/auth.service";
7
+ import * as i2 from "@igo2/core";
8
+ import * as i3 from "@angular/forms";
9
+ import * as i4 from "@angular/common";
10
+ import * as i5 from "@angular/material/form-field";
11
+ import * as i6 from "@angular/material/input";
12
+ import * as i7 from "@angular/material/button";
13
+ import * as i8 from "@ngx-translate/core";
14
+ function AuthInternComponent_button_18_Template(rf, ctx) { if (rf & 1) {
15
+ const _r3 = i0.ɵɵgetCurrentView();
16
+ i0.ɵɵelementStart(0, "button", 7);
17
+ i0.ɵɵlistener("click", function AuthInternComponent_button_18_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r3); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.loginAnonymous()); });
18
+ i0.ɵɵtext(1);
19
+ i0.ɵɵpipe(2, "translate");
20
+ i0.ɵɵelementEnd();
21
+ } if (rf & 2) {
22
+ const ctx_r0 = i0.ɵɵnextContext();
23
+ i0.ɵɵproperty("disabled", ctx_r0.loading);
24
+ i0.ɵɵadvance(1);
25
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 2, "igo.auth.accessAnonymous"), " ");
26
+ } }
27
+ function AuthInternComponent_div_19_Template(rf, ctx) { if (rf & 1) {
28
+ i0.ɵɵelementStart(0, "div");
29
+ i0.ɵɵelement(1, "br");
30
+ i0.ɵɵelementStart(2, "font", 8);
31
+ i0.ɵɵtext(3);
32
+ i0.ɵɵelementEnd()();
33
+ } if (rf & 2) {
34
+ const ctx_r1 = i0.ɵɵnextContext();
35
+ i0.ɵɵadvance(3);
36
+ i0.ɵɵtextInterpolate(ctx_r1.error);
37
+ } }
38
+ export class AuthInternComponent {
39
+ auth;
40
+ languageService;
41
+ get allowAnonymous() {
42
+ return this._allowAnonymous;
43
+ }
44
+ set allowAnonymous(value) {
45
+ this._allowAnonymous = value;
46
+ }
47
+ _allowAnonymous = true;
48
+ error = '';
49
+ form;
50
+ loading = false;
51
+ login = new EventEmitter();
52
+ constructor(auth, languageService, fb) {
53
+ this.auth = auth;
54
+ this.languageService = languageService;
55
+ this.form = fb.group({
56
+ username: ['', Validators.required],
57
+ password: ['', Validators.required]
58
+ });
59
+ }
60
+ loginUser(values) {
61
+ this.loading = true;
62
+ this.auth.login(values.username, values.password).subscribe(() => {
63
+ this.login.emit(true);
64
+ this.loading = false;
65
+ }, (error) => {
66
+ try {
67
+ this.languageService.translate
68
+ .get('igo.auth.error.' + error.error.message)
69
+ .subscribe((errorMsg) => (this.error = errorMsg));
70
+ }
71
+ catch (e) {
72
+ this.error = error.error.message;
73
+ }
74
+ this.loading = false;
75
+ });
76
+ return false;
77
+ }
78
+ loginAnonymous() {
79
+ this.auth.loginAnonymous().subscribe(() => {
80
+ this.login.emit(true);
81
+ });
82
+ }
83
+ static ɵfac = function AuthInternComponent_Factory(t) { return new (t || AuthInternComponent)(i0.ɵɵdirectiveInject(i1.AuthService), i0.ɵɵdirectiveInject(i2.LanguageService), i0.ɵɵdirectiveInject(i3.UntypedFormBuilder)); };
84
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AuthInternComponent, selectors: [["igo-auth-intern"]], inputs: { allowAnonymous: "allowAnonymous" }, outputs: { login: "login" }, decls: 20, vars: 18, consts: [["role", "form", 3, "formGroup", "ngSubmit"], [1, "full-width"], ["matInput", "", "required", "", "formControlName", "username", 3, "placeholder"], ["matInput", "", "required", "", "type", "password", "formControlName", "password", 3, "placeholder"], ["mat-raised-button", "", "type", "submit"], ["mat-raised-button", "", "class", "anonymous", "type", "button", 3, "disabled", "click", 4, "ngIf"], [4, "ngIf"], ["mat-raised-button", "", "type", "button", 1, "anonymous", 3, "disabled", "click"], ["size", "3", "color", "red"]], template: function AuthInternComponent_Template(rf, ctx) { if (rf & 1) {
85
+ i0.ɵɵelementStart(0, "form", 0);
86
+ i0.ɵɵlistener("ngSubmit", function AuthInternComponent_Template_form_ngSubmit_0_listener() { return ctx.loginUser(ctx.form.value); });
87
+ i0.ɵɵelementStart(1, "div")(2, "mat-form-field", 1)(3, "mat-label");
88
+ i0.ɵɵtext(4);
89
+ i0.ɵɵpipe(5, "translate");
90
+ i0.ɵɵelementEnd();
91
+ i0.ɵɵelement(6, "input", 2);
92
+ i0.ɵɵpipe(7, "translate");
93
+ i0.ɵɵelementEnd()();
94
+ i0.ɵɵelementStart(8, "div")(9, "mat-form-field", 1)(10, "mat-label");
95
+ i0.ɵɵtext(11);
96
+ i0.ɵɵpipe(12, "translate");
97
+ i0.ɵɵelementEnd();
98
+ i0.ɵɵelement(13, "input", 3);
99
+ i0.ɵɵpipe(14, "translate");
100
+ i0.ɵɵelementEnd()();
101
+ i0.ɵɵelementStart(15, "button", 4);
102
+ i0.ɵɵtext(16);
103
+ i0.ɵɵpipe(17, "translate");
104
+ i0.ɵɵelementEnd();
105
+ i0.ɵɵtemplate(18, AuthInternComponent_button_18_Template, 3, 4, "button", 5);
106
+ i0.ɵɵtemplate(19, AuthInternComponent_div_19_Template, 4, 1, "div", 6);
107
+ i0.ɵɵelementEnd();
108
+ } if (rf & 2) {
109
+ i0.ɵɵproperty("formGroup", ctx.form);
110
+ i0.ɵɵadvance(4);
111
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(5, 8, "igo.auth.user"));
112
+ i0.ɵɵadvance(2);
113
+ i0.ɵɵpropertyInterpolate("placeholder", i0.ɵɵpipeBind1(7, 10, "igo.auth.user"));
114
+ i0.ɵɵadvance(5);
115
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(12, 12, "igo.auth.password"));
116
+ i0.ɵɵadvance(2);
117
+ i0.ɵɵpropertyInterpolate("placeholder", i0.ɵɵpipeBind1(14, 14, "igo.auth.password"));
118
+ i0.ɵɵadvance(3);
119
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(17, 16, "igo.auth.login"), " ");
120
+ i0.ɵɵadvance(2);
121
+ i0.ɵɵproperty("ngIf", ctx.allowAnonymous);
122
+ i0.ɵɵadvance(1);
123
+ i0.ɵɵproperty("ngIf", ctx.error);
124
+ } }, dependencies: [i4.NgIf, i3.ɵNgNoValidate, i3.DefaultValueAccessor, i3.NgControlStatus, i3.NgControlStatusGroup, i3.RequiredValidator, i3.FormGroupDirective, i3.FormControlName, i5.MatFormField, i5.MatLabel, i6.MatInput, i7.MatButton, i8.TranslatePipe], styles: [".full-width[_ngcontent-%COMP%]{width:100%}.anonymous[_ngcontent-%COMP%]{margin-left:10px}"] });
125
+ }
126
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AuthInternComponent, [{
127
+ type: Component,
128
+ args: [{ selector: 'igo-auth-intern', changeDetection: ChangeDetectionStrategy.Default, template: "<form [formGroup]=\"form\" role=\"form\" (ngSubmit)=\"loginUser(form.value)\">\r\n <div>\r\n <mat-form-field class=\"full-width\">\r\n <mat-label>{{ 'igo.auth.user' | translate }}</mat-label>\r\n <input\r\n matInput\r\n required\r\n placeholder=\"{{ 'igo.auth.user' | translate }}\"\r\n formControlName=\"username\"\r\n />\r\n </mat-form-field>\r\n </div>\r\n\r\n <div>\r\n <mat-form-field class=\"full-width\">\r\n <mat-label>{{ 'igo.auth.password' | translate }}</mat-label>\r\n <input\r\n matInput\r\n required\r\n type=\"password\"\r\n placeholder=\"{{ 'igo.auth.password' | translate }}\"\r\n formControlName=\"password\"\r\n />\r\n </mat-form-field>\r\n </div>\r\n\r\n <button mat-raised-button type=\"submit\">\r\n {{ 'igo.auth.login' | translate }}\r\n </button>\r\n <button\r\n *ngIf=\"allowAnonymous\"\r\n mat-raised-button\r\n class=\"anonymous\"\r\n type=\"button\"\r\n [disabled]=\"loading\"\r\n (click)=\"loginAnonymous()\"\r\n >\r\n {{ 'igo.auth.accessAnonymous' | translate }}\r\n </button>\r\n <div *ngIf=\"error\">\r\n <br />\r\n <font size=\"3\" color=\"red\">{{ error }}</font>\r\n </div>\r\n</form>\r\n", styles: [".full-width{width:100%}.anonymous{margin-left:10px}\n"] }]
129
+ }], function () { return [{ type: i1.AuthService }, { type: i2.LanguageService }, { type: i3.UntypedFormBuilder }]; }, { allowAnonymous: [{
130
+ type: Input
131
+ }], login: [{
132
+ type: Output
133
+ }] }); })();
134
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1pbnRlcm4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYXV0aC9zcmMvbGliL2F1dGgtZm9ybS9hdXRoLWludGVybi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hdXRoL3NyYy9saWIvYXV0aC1mb3JtL2F1dGgtaW50ZXJuLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsdUJBQXVCLEVBQ3ZCLEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUNiLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxVQUFVLEVBRVYsa0JBQWtCLEVBQ25CLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxZQUFZLENBQUM7Ozs7Ozs7Ozs7OztJQ2UzQyxpQ0FPQztJQURDLG9LQUFTLGVBQUEsdUJBQWdCLENBQUEsSUFBQztJQUUxQixZQUNGOztJQUFBLGlCQUFTOzs7SUFKUCx5Q0FBb0I7SUFHcEIsZUFDRjtJQURFLGlGQUNGOzs7SUFDQSwyQkFBbUI7SUFDakIscUJBQU07SUFDTiwrQkFBMkI7SUFBQSxZQUFXO0lBQUEsaUJBQU8sRUFBQTs7O0lBQWxCLGVBQVc7SUFBWCxrQ0FBVzs7QURuQjFDLE1BQU0sT0FBTyxtQkFBbUI7SUFpQnJCO0lBQ0M7SUFqQlYsSUFDSSxjQUFjO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUM5QixDQUFDO0lBQ0QsSUFBSSxjQUFjLENBQUMsS0FBYztRQUMvQixJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztJQUMvQixDQUFDO0lBQ08sZUFBZSxHQUFHLElBQUksQ0FBQztJQUV4QixLQUFLLEdBQUcsRUFBRSxDQUFDO0lBQ1gsSUFBSSxDQUFtQjtJQUN2QixPQUFPLEdBQUcsS0FBSyxDQUFDO0lBRWIsS0FBSyxHQUEwQixJQUFJLFlBQVksRUFBVyxDQUFDO0lBRXJFLFlBQ1MsSUFBaUIsRUFDaEIsZUFBZ0MsRUFDeEMsRUFBc0I7UUFGZixTQUFJLEdBQUosSUFBSSxDQUFhO1FBQ2hCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUd4QyxJQUFJLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDbkIsUUFBUSxFQUFFLENBQUMsRUFBRSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDbkMsUUFBUSxFQUFFLENBQUMsRUFBRSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7U0FDcEMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFNBQVMsQ0FBQyxNQUFXO1FBQ25CLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFNBQVMsQ0FDekQsR0FBRyxFQUFFO1lBQ0gsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDdEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDdkIsQ0FBQyxFQUNELENBQUMsS0FBVSxFQUFFLEVBQUU7WUFDYixJQUFJO2dCQUNGLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUztxQkFDM0IsR0FBRyxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDO3FCQUM1QyxTQUFTLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDO2FBQ3JEO1lBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ1YsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQzthQUNsQztZQUNELElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLENBQUMsQ0FDRixDQUFDO1FBQ0YsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsY0FBYztRQUNaLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUN4QyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7NkVBcERVLG1CQUFtQjs2REFBbkIsbUJBQW1CO1lDdEJoQywrQkFBd0U7WUFBbkMsb0dBQVksNkJBQXFCLElBQUM7WUFDckUsMkJBQUssd0JBQUEsZ0JBQUE7WUFFVSxZQUFpQzs7WUFBQSxpQkFBWTtZQUN4RCwyQkFLRTs7WUFDSixpQkFBaUIsRUFBQTtZQUduQiwyQkFBSyx3QkFBQSxpQkFBQTtZQUVVLGFBQXFDOztZQUFBLGlCQUFZO1lBQzVELDRCQU1FOztZQUNKLGlCQUFpQixFQUFBO1lBR25CLGtDQUF3QztZQUN0QyxhQUNGOztZQUFBLGlCQUFTO1lBQ1QsNEVBU1M7WUFDVCxzRUFHTTtZQUNSLGlCQUFPOztZQTNDRCxvQ0FBa0I7WUFHUCxlQUFpQztZQUFqQywyREFBaUM7WUFJMUMsZUFBK0M7WUFBL0MsK0VBQStDO1lBUXRDLGVBQXFDO1lBQXJDLGlFQUFxQztZQUs5QyxlQUFtRDtZQUFuRCxvRkFBbUQ7WUFPdkQsZUFDRjtZQURFLHlFQUNGO1lBRUcsZUFBb0I7WUFBcEIseUNBQW9CO1lBU2pCLGVBQVc7WUFBWCxnQ0FBVzs7O3VGRGpCTixtQkFBbUI7Y0FOL0IsU0FBUzsyQkFDRSxpQkFBaUIsbUJBR1YsdUJBQXVCLENBQUMsT0FBTzs2SEFJNUMsY0FBYztrQkFEakIsS0FBSztZQWFJLEtBQUs7a0JBQWQsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIElucHV0LFxyXG4gIE91dHB1dCxcclxuICBFdmVudEVtaXR0ZXJcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBWYWxpZGF0b3JzLFxyXG4gIFVudHlwZWRGb3JtR3JvdXAsXHJcbiAgVW50eXBlZEZvcm1CdWlsZGVyXHJcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi9zaGFyZWQvYXV0aC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTGFuZ3VhZ2VTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2lnby1hdXRoLWludGVybicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2F1dGgtaW50ZXJuLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9hdXRoLWludGVybi5jb21wb25lbnQuc2NzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuRGVmYXVsdFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXV0aEludGVybkNvbXBvbmVudCB7XHJcbiAgQElucHV0KClcclxuICBnZXQgYWxsb3dBbm9ueW1vdXMoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fYWxsb3dBbm9ueW1vdXM7XHJcbiAgfVxyXG4gIHNldCBhbGxvd0Fub255bW91cyh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5fYWxsb3dBbm9ueW1vdXMgPSB2YWx1ZTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfYWxsb3dBbm9ueW1vdXMgPSB0cnVlO1xyXG5cclxuICBwdWJsaWMgZXJyb3IgPSAnJztcclxuICBwdWJsaWMgZm9ybTogVW50eXBlZEZvcm1Hcm91cDtcclxuICBwdWJsaWMgbG9hZGluZyA9IGZhbHNlO1xyXG5cclxuICBAT3V0cHV0KCkgbG9naW46IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgYXV0aDogQXV0aFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGxhbmd1YWdlU2VydmljZTogTGFuZ3VhZ2VTZXJ2aWNlLFxyXG4gICAgZmI6IFVudHlwZWRGb3JtQnVpbGRlclxyXG4gICkge1xyXG4gICAgdGhpcy5mb3JtID0gZmIuZ3JvdXAoe1xyXG4gICAgICB1c2VybmFtZTogWycnLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcclxuICAgICAgcGFzc3dvcmQ6IFsnJywgVmFsaWRhdG9ycy5yZXF1aXJlZF1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbG9naW5Vc2VyKHZhbHVlczogYW55KSB7XHJcbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5hdXRoLmxvZ2luKHZhbHVlcy51c2VybmFtZSwgdmFsdWVzLnBhc3N3b3JkKS5zdWJzY3JpYmUoXHJcbiAgICAgICgpID0+IHtcclxuICAgICAgICB0aGlzLmxvZ2luLmVtaXQodHJ1ZSk7XHJcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgIH0sXHJcbiAgICAgIChlcnJvcjogYW55KSA9PiB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgIHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZVxyXG4gICAgICAgICAgICAuZ2V0KCdpZ28uYXV0aC5lcnJvci4nICsgZXJyb3IuZXJyb3IubWVzc2FnZSlcclxuICAgICAgICAgICAgLnN1YnNjcmliZSgoZXJyb3JNc2cpID0+ICh0aGlzLmVycm9yID0gZXJyb3JNc2cpKTtcclxuICAgICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgICB0aGlzLmVycm9yID0gZXJyb3IuZXJyb3IubWVzc2FnZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBsb2dpbkFub255bW91cygpIHtcclxuICAgIHRoaXMuYXV0aC5sb2dpbkFub255bW91cygpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMubG9naW4uZW1pdCh0cnVlKTtcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1cIiByb2xlPVwiZm9ybVwiIChuZ1N1Ym1pdCk9XCJsb2dpblVzZXIoZm9ybS52YWx1ZSlcIj5cclxuICA8ZGl2PlxyXG4gICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiZnVsbC13aWR0aFwiPlxyXG4gICAgICA8bWF0LWxhYmVsPnt7ICdpZ28uYXV0aC51c2VyJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxyXG4gICAgICA8aW5wdXRcclxuICAgICAgICBtYXRJbnB1dFxyXG4gICAgICAgIHJlcXVpcmVkXHJcbiAgICAgICAgcGxhY2Vob2xkZXI9XCJ7eyAnaWdvLmF1dGgudXNlcicgfCB0cmFuc2xhdGUgfX1cIlxyXG4gICAgICAgIGZvcm1Db250cm9sTmFtZT1cInVzZXJuYW1lXCJcclxuICAgICAgLz5cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxkaXY+XHJcbiAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJmdWxsLXdpZHRoXCI+XHJcbiAgICAgIDxtYXQtbGFiZWw+e3sgJ2lnby5hdXRoLnBhc3N3b3JkJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxyXG4gICAgICA8aW5wdXRcclxuICAgICAgICBtYXRJbnB1dFxyXG4gICAgICAgIHJlcXVpcmVkXHJcbiAgICAgICAgdHlwZT1cInBhc3N3b3JkXCJcclxuICAgICAgICBwbGFjZWhvbGRlcj1cInt7ICdpZ28uYXV0aC5wYXNzd29yZCcgfCB0cmFuc2xhdGUgfX1cIlxyXG4gICAgICAgIGZvcm1Db250cm9sTmFtZT1cInBhc3N3b3JkXCJcclxuICAgICAgLz5cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gdHlwZT1cInN1Ym1pdFwiPlxyXG4gICAge3sgJ2lnby5hdXRoLmxvZ2luJyB8IHRyYW5zbGF0ZSB9fVxyXG4gIDwvYnV0dG9uPlxyXG4gIDxidXR0b25cclxuICAgICpuZ0lmPVwiYWxsb3dBbm9ueW1vdXNcIlxyXG4gICAgbWF0LXJhaXNlZC1idXR0b25cclxuICAgIGNsYXNzPVwiYW5vbnltb3VzXCJcclxuICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgW2Rpc2FibGVkXT1cImxvYWRpbmdcIlxyXG4gICAgKGNsaWNrKT1cImxvZ2luQW5vbnltb3VzKClcIlxyXG4gID5cclxuICAgIHt7ICdpZ28uYXV0aC5hY2Nlc3NBbm9ueW1vdXMnIHwgdHJhbnNsYXRlIH19XHJcbiAgPC9idXR0b24+XHJcbiAgPGRpdiAqbmdJZj1cImVycm9yXCI+XHJcbiAgICA8YnIgLz5cclxuICAgIDxmb250IHNpemU9XCIzXCIgY29sb3I9XCJyZWRcIj57eyBlcnJvciB9fTwvZm9udD5cclxuICA8L2Rpdj5cclxuPC9mb3JtPlxyXG4iXX0=
@@ -0,0 +1,107 @@
1
+ import { Component, ChangeDetectionStrategy, ApplicationRef, Output, EventEmitter, Inject } from '@angular/core';
2
+ import { MsalBroadcastService, MsalService, MSAL_GUARD_CONFIG } from '@azure/msal-angular';
3
+ import { InteractionStatus, PublicClientApplication, InteractionRequiredAuthError } from '@azure/msal-browser';
4
+ import { ConfigService } from '@igo2/core';
5
+ import { AuthService } from '../shared/auth.service';
6
+ import { filter, takeUntil } from 'rxjs/operators';
7
+ import { Subject } from 'rxjs';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "../shared/auth.service";
10
+ import * as i2 from "@igo2/core";
11
+ import * as i3 from "@azure/msal-angular";
12
+ import * as i4 from "@angular/material/icon";
13
+ import * as i5 from "@angular/material/button";
14
+ import * as i6 from "@ngx-translate/core";
15
+ export class AuthMicrosoftComponent {
16
+ authService;
17
+ config;
18
+ appRef;
19
+ msalService;
20
+ msalGuardConfig;
21
+ options;
22
+ _destroying$ = new Subject();
23
+ login = new EventEmitter();
24
+ broadcastService;
25
+ constructor(authService, config, appRef, msalService, msalGuardConfig) {
26
+ this.authService = authService;
27
+ this.config = config;
28
+ this.appRef = appRef;
29
+ this.msalService = msalService;
30
+ this.msalGuardConfig = msalGuardConfig;
31
+ this.options = this.config.getConfig('auth.microsoft');
32
+ this.msalService.instance = new PublicClientApplication({
33
+ auth: this.options,
34
+ cache: {
35
+ cacheLocation: 'sessionStorage'
36
+ }
37
+ });
38
+ this.broadcastService = new MsalBroadcastService(this.msalService.instance, this.msalService);
39
+ if (this.options?.clientId) {
40
+ this.broadcastService.inProgress$
41
+ .pipe(filter((status) => status === InteractionStatus.None), takeUntil(this._destroying$))
42
+ .subscribe(() => {
43
+ this.checkAccount();
44
+ });
45
+ }
46
+ else {
47
+ console.warn('Microsoft authentification needs "clientId" option');
48
+ }
49
+ }
50
+ loginMicrosoft() {
51
+ this.msalService
52
+ .loginPopup({ ...this.getConf().authRequest })
53
+ .subscribe((response) => {
54
+ this.msalService.instance.setActiveAccount(response.account);
55
+ this.checkAccount();
56
+ });
57
+ }
58
+ checkAccount() {
59
+ this.msalService.instance
60
+ .acquireTokenSilent(this.getConf().authRequest)
61
+ .then((response) => {
62
+ const tokenAccess = response.accessToken;
63
+ const tokenId = response.idToken;
64
+ this.authService
65
+ .loginWithToken(tokenAccess, 'microsoft', { tokenId })
66
+ .subscribe(() => {
67
+ this.appRef.tick();
68
+ this.login.emit(true);
69
+ });
70
+ })
71
+ .catch(async (error) => {
72
+ if (error instanceof InteractionRequiredAuthError) {
73
+ // fallback to interaction when silent call fails
74
+ return this.msalService.acquireTokenPopup(this.getConf().authRequest);
75
+ }
76
+ console.log(error);
77
+ })
78
+ .catch((error) => {
79
+ console.log('Silent token fails');
80
+ });
81
+ }
82
+ getConf() {
83
+ return this.msalGuardConfig.filter((conf) => conf.type === 'add')[0];
84
+ }
85
+ static ɵfac = function AuthMicrosoftComponent_Factory(t) { return new (t || AuthMicrosoftComponent)(i0.ɵɵdirectiveInject(i1.AuthService), i0.ɵɵdirectiveInject(i2.ConfigService), i0.ɵɵdirectiveInject(i0.ApplicationRef), i0.ɵɵdirectiveInject(i3.MsalService), i0.ɵɵdirectiveInject(MSAL_GUARD_CONFIG)); };
86
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AuthMicrosoftComponent, selectors: [["igo-auth-microsoft"]], outputs: { login: "login" }, decls: 4, vars: 3, consts: [["mat-raised-button", "", 1, "microsoft-login-button", 3, "click"], ["svgIcon", "microsoft"]], template: function AuthMicrosoftComponent_Template(rf, ctx) { if (rf & 1) {
87
+ i0.ɵɵelementStart(0, "button", 0);
88
+ i0.ɵɵlistener("click", function AuthMicrosoftComponent_Template_button_click_0_listener() { return ctx.loginMicrosoft(); });
89
+ i0.ɵɵelement(1, "mat-icon", 1);
90
+ i0.ɵɵtext(2);
91
+ i0.ɵɵpipe(3, "translate");
92
+ i0.ɵɵelementEnd();
93
+ } if (rf & 2) {
94
+ i0.ɵɵadvance(2);
95
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 1, "igo.auth.microsoft.login"), "\n");
96
+ } }, dependencies: [i4.MatIcon, i5.MatButton, i6.TranslatePipe], styles: ["[_nghost-%COMP%]{padding:10px 10px 10px 0;display:inline-block;position:relative;top:-15px}[_nghost-%COMP%] > button[_ngcontent-%COMP%]{font-size:15px;height:40px;width:265px}mat-icon[_ngcontent-%COMP%]{margin-right:10px}"], changeDetection: 0 });
97
+ }
98
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AuthMicrosoftComponent, [{
99
+ type: Component,
100
+ args: [{ selector: 'igo-auth-microsoft', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\r\n class=\"microsoft-login-button\"\r\n mat-raised-button\r\n (click)=\"loginMicrosoft()\"\r\n>\r\n <mat-icon svgIcon=\"microsoft\"></mat-icon>\r\n {{ 'igo.auth.microsoft.login' | translate }}\r\n</button>\r\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"] }]
101
+ }], function () { return [{ type: i1.AuthService }, { type: i2.ConfigService }, { type: i0.ApplicationRef }, { type: i3.MsalService }, { type: undefined, decorators: [{
102
+ type: Inject,
103
+ args: [MSAL_GUARD_CONFIG]
104
+ }] }]; }, { login: [{
105
+ type: Output
106
+ }] }); })();
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1taWNyb3NvZnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYXV0aC9zcmMvbGliL2F1dGgtZm9ybS9hdXRoLW1pY3Jvc29mdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hdXRoL3NyYy9saWIvYXV0aC1mb3JtL2F1dGgtbWljcm9zb2Z0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsdUJBQXVCLEVBQ3ZCLGNBQWMsRUFDZCxNQUFNLEVBQ04sWUFBWSxFQUNaLE1BQU0sRUFDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLFdBQVcsRUFDWCxpQkFBaUIsRUFDbEIsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQ0wsaUJBQWlCLEVBRWpCLHVCQUF1QixFQUd2Qiw0QkFBNEIsRUFDN0IsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBSzNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7O0FBUS9CLE1BQU0sT0FBTyxzQkFBc0I7SUFPdkI7SUFDQTtJQUNBO0lBQ0E7SUFFQTtJQVhGLE9BQU8sQ0FBd0I7SUFDdEIsWUFBWSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFDMUMsS0FBSyxHQUEwQixJQUFJLFlBQVksRUFBVyxDQUFDO0lBQzdELGdCQUFnQixDQUF1QjtJQUUvQyxZQUNVLFdBQXdCLEVBQ3hCLE1BQXFCLEVBQ3JCLE1BQXNCLEVBQ3RCLFdBQXdCLEVBRXhCLGVBQTRDO1FB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QUFHLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUNwQyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxPQUFPO1FBQ2IsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN2RSxDQUFDO2dGQWxGVSxzQkFBc0Isb0xBV3ZCLGlCQUFpQjs2REFYaEIsc0JBQXNCO1lDcENuQyxpQ0FJQztZQURDLG1HQUFTLG9CQUFnQixJQUFDO1lBRTFCLDhCQUF5QztZQUN6QyxZQUNGOztZQUFBLGlCQUFTOztZQURQLGVBQ0Y7WUFERSxrRkFDRjs7O3VGRDZCYSxzQkFBc0I7Y0FObEMsU0FBUzsyQkFDRSxvQkFBb0IsbUJBR2IsdUJBQXVCLENBQUMsTUFBTTs7c0JBYTVDLE1BQU07dUJBQUMsaUJBQWlCO3dCQVJqQixLQUFLO2tCQUFkLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBBcHBsaWNhdGlvblJlZixcclxuICBPdXRwdXQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEluamVjdFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIE1zYWxCcm9hZGNhc3RTZXJ2aWNlLFxyXG4gIE1zYWxTZXJ2aWNlLFxyXG4gIE1TQUxfR1VBUkRfQ09ORklHXHJcbn0gZnJvbSAnQGF6dXJlL21zYWwtYW5ndWxhcic7XHJcbmltcG9ydCB7XHJcbiAgSW50ZXJhY3Rpb25TdGF0dXMsXHJcbiAgQXV0aGVudGljYXRpb25SZXN1bHQsXHJcbiAgUHVibGljQ2xpZW50QXBwbGljYXRpb24sXHJcbiAgUG9wdXBSZXF1ZXN0LFxyXG4gIFNpbGVudFJlcXVlc3QsXHJcbiAgSW50ZXJhY3Rpb25SZXF1aXJlZEF1dGhFcnJvclxyXG59IGZyb20gJ0BhenVyZS9tc2FsLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgQXV0aE1pY3Jvc29mdE9wdGlvbnMsXHJcbiAgTVNQTXNhbEd1YXJkQ29uZmlndXJhdGlvblxyXG59IGZyb20gJy4uL3NoYXJlZC9hdXRoLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vc2hhcmVkL2F1dGguc2VydmljZSc7XHJcbmltcG9ydCB7IGZpbHRlciwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2lnby1hdXRoLW1pY3Jvc29mdCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2F1dGgtbWljcm9zb2Z0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9hdXRoLW1pY3Jvc29mdC5jb21wb25lbnQuc2NzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBdXRoTWljcm9zb2Z0Q29tcG9uZW50IHtcclxuICBwcml2YXRlIG9wdGlvbnM/OiBBdXRoTWljcm9zb2Z0T3B0aW9ucztcclxuICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95aW5nJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgQE91dHB1dCgpIGxvZ2luOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbiAgcHJpdmF0ZSBicm9hZGNhc3RTZXJ2aWNlOiBNc2FsQnJvYWRjYXN0U2VydmljZTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSxcclxuICAgIHByaXZhdGUgY29uZmlnOiBDb25maWdTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBhcHBSZWY6IEFwcGxpY2F0aW9uUmVmLFxyXG4gICAgcHJpdmF0ZSBtc2FsU2VydmljZTogTXNhbFNlcnZpY2UsXHJcbiAgICBASW5qZWN0KE1TQUxfR1VBUkRfQ09ORklHKVxyXG4gICAgcHJpdmF0ZSBtc2FsR3VhcmRDb25maWc6IE1TUE1zYWxHdWFyZENvbmZpZ3VyYXRpb25bXVxyXG4gICkge1xyXG4gICAgdGhpcy5vcHRpb25zID0gdGhpcy5jb25maWcuZ2V0Q29uZmlnKCdhdXRoLm1pY3Jvc29mdCcpO1xyXG5cclxuICAgIHRoaXMubXNhbFNlcnZpY2UuaW5zdGFuY2UgPSBuZXcgUHVibGljQ2xpZW50QXBwbGljYXRpb24oe1xyXG4gICAgICBhdXRoOiB0aGlzLm9wdGlvbnMsXHJcbiAgICAgIGNhY2hlOiB7XHJcbiAgICAgICAgY2FjaGVMb2NhdGlvbjogJ3Nlc3Npb25TdG9yYWdlJ1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLmJyb2FkY2FzdFNlcnZpY2UgPSBuZXcgTXNhbEJyb2FkY2FzdFNlcnZpY2UoXHJcbiAgICAgIHRoaXMubXNhbFNlcnZpY2UuaW5zdGFuY2UsXHJcbiAgICAgIHRoaXMubXNhbFNlcnZpY2VcclxuICAgICk7XHJcblxyXG4gICAgaWYgKHRoaXMub3B0aW9ucz8uY2xpZW50SWQpIHtcclxuICAgICAgdGhpcy5icm9hZGNhc3RTZXJ2aWNlLmluUHJvZ3Jlc3MkXHJcbiAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICBmaWx0ZXIoXHJcbiAgICAgICAgICAgIChzdGF0dXM6IEludGVyYWN0aW9uU3RhdHVzKSA9PiBzdGF0dXMgPT09IEludGVyYWN0aW9uU3RhdHVzLk5vbmVcclxuICAgICAgICAgICksXHJcbiAgICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveWluZyQpXHJcbiAgICAgICAgKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5jaGVja0FjY291bnQoKTtcclxuICAgICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnNvbGUud2FybignTWljcm9zb2Z0IGF1dGhlbnRpZmljYXRpb24gbmVlZHMgXCJjbGllbnRJZFwiIG9wdGlvbicpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGxvZ2luTWljcm9zb2Z0KCkge1xyXG4gICAgdGhpcy5tc2FsU2VydmljZVxyXG4gICAgICAubG9naW5Qb3B1cCh7IC4uLnRoaXMuZ2V0Q29uZigpLmF1dGhSZXF1ZXN0IH0gYXMgUG9wdXBSZXF1ZXN0KVxyXG4gICAgICAuc3Vic2NyaWJlKChyZXNwb25zZTogQXV0aGVudGljYXRpb25SZXN1bHQpID0+IHtcclxuICAgICAgICB0aGlzLm1zYWxTZXJ2aWNlLmluc3RhbmNlLnNldEFjdGl2ZUFjY291bnQocmVzcG9uc2UuYWNjb3VudCk7XHJcbiAgICAgICAgdGhpcy5jaGVja0FjY291bnQoKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNoZWNrQWNjb3VudCgpIHtcclxuICAgIHRoaXMubXNhbFNlcnZpY2UuaW5zdGFuY2VcclxuICAgICAgLmFjcXVpcmVUb2tlblNpbGVudCh0aGlzLmdldENvbmYoKS5hdXRoUmVxdWVzdCBhcyBTaWxlbnRSZXF1ZXN0KVxyXG4gICAgICAudGhlbigocmVzcG9uc2U6IEF1dGhlbnRpY2F0aW9uUmVzdWx0KSA9PiB7XHJcbiAgICAgICAgY29uc3QgdG9rZW5BY2Nlc3MgPSByZXNwb25zZS5hY2Nlc3NUb2tlbjtcclxuICAgICAgICBjb25zdCB0b2tlbklkID0gcmVzcG9uc2UuaWRUb2tlbjtcclxuICAgICAgICB0aGlzLmF1dGhTZXJ2aWNlXHJcbiAgICAgICAgICAubG9naW5XaXRoVG9rZW4odG9rZW5BY2Nlc3MsICdtaWNyb3NvZnQnLCB7IHRva2VuSWQgfSlcclxuICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmFwcFJlZi50aWNrKCk7XHJcbiAgICAgICAgICAgIHRoaXMubG9naW4uZW1pdCh0cnVlKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICB9KVxyXG4gICAgICAuY2F0Y2goYXN5bmMgKGVycm9yKSA9PiB7XHJcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgSW50ZXJhY3Rpb25SZXF1aXJlZEF1dGhFcnJvcikge1xyXG4gICAgICAgICAgLy8gZmFsbGJhY2sgdG8gaW50ZXJhY3Rpb24gd2hlbiBzaWxlbnQgY2FsbCBmYWlsc1xyXG4gICAgICAgICAgcmV0dXJuIHRoaXMubXNhbFNlcnZpY2UuYWNxdWlyZVRva2VuUG9wdXAoXHJcbiAgICAgICAgICAgIHRoaXMuZ2V0Q29uZigpLmF1dGhSZXF1ZXN0IGFzIFNpbGVudFJlcXVlc3RcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnNvbGUubG9nKGVycm9yKTtcclxuICAgICAgfSlcclxuICAgICAgLmNhdGNoKChlcnJvcikgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKCdTaWxlbnQgdG9rZW4gZmFpbHMnKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldENvbmYoKTogTVNQTXNhbEd1YXJkQ29uZmlndXJhdGlvbiB7XHJcbiAgICByZXR1cm4gdGhpcy5tc2FsR3VhcmRDb25maWcuZmlsdGVyKChjb25mKSA9PiBjb25mLnR5cGUgPT09ICdhZGQnKVswXTtcclxuICB9XHJcbn1cclxuIiwiPGJ1dHRvblxyXG4gIGNsYXNzPVwibWljcm9zb2Z0LWxvZ2luLWJ1dHRvblwiXHJcbiAgbWF0LXJhaXNlZC1idXR0b25cclxuICAoY2xpY2spPVwibG9naW5NaWNyb3NvZnQoKVwiXHJcbj5cclxuICA8bWF0LWljb24gc3ZnSWNvbj1cIm1pY3Jvc29mdFwiPjwvbWF0LWljb24+XHJcbiAge3sgJ2lnby5hdXRoLm1pY3Jvc29mdC5sb2dpbicgfCB0cmFuc2xhdGUgfX1cclxuPC9idXR0b24+XHJcbiJdfQ==
@@ -0,0 +1,105 @@
1
+ import { Component, ChangeDetectionStrategy, ApplicationRef, Output, EventEmitter, Inject } from '@angular/core';
2
+ import { MSAL_GUARD_CONFIG } from '@azure/msal-angular';
3
+ import { InteractionStatus, PublicClientApplication, InteractionRequiredAuthError } from '@azure/msal-browser';
4
+ import { ConfigService } from '@igo2/core';
5
+ import { AuthService } from '../shared/auth.service';
6
+ import { filter, takeUntil } from 'rxjs/operators';
7
+ import { Subject } from 'rxjs';
8
+ import { MsalBroadcastServiceb2c } from '../shared/auth-msalBroadcastServiceb2c.service';
9
+ import { MsalServiceb2c } from '../shared/auth-msalServiceb2c.service.';
10
+ import * as i0 from "@angular/core";
11
+ import * as i1 from "../shared/auth.service";
12
+ import * as i2 from "@igo2/core";
13
+ import * as i3 from "../shared/auth-msalServiceb2c.service.";
14
+ import * as i4 from "@angular/material/icon";
15
+ import * as i5 from "@angular/material/button";
16
+ import * as i6 from "@ngx-translate/core";
17
+ export class AuthMicrosoftb2cComponent {
18
+ authService;
19
+ config;
20
+ appRef;
21
+ msalService;
22
+ msalGuardConfig;
23
+ options;
24
+ _destroying$ = new Subject();
25
+ login = new EventEmitter();
26
+ broadcastService;
27
+ constructor(authService, config, appRef, msalService, msalGuardConfig) {
28
+ this.authService = authService;
29
+ this.config = config;
30
+ this.appRef = appRef;
31
+ this.msalService = msalService;
32
+ this.msalGuardConfig = msalGuardConfig;
33
+ this.options = this.config.getConfig('auth.microsoftb2c') || {};
34
+ this.msalService.instance = new PublicClientApplication({
35
+ auth: this.options.browserAuthOptions,
36
+ cache: {
37
+ cacheLocation: 'sessionStorage'
38
+ }
39
+ });
40
+ this.broadcastService = new MsalBroadcastServiceb2c(this.msalService.instance, this.msalService);
41
+ if (this.options.browserAuthOptions.clientId) {
42
+ this.broadcastService.inProgress$
43
+ .pipe(filter((status) => status === InteractionStatus.None), takeUntil(this._destroying$))
44
+ .subscribe(() => {
45
+ this.checkAccount();
46
+ });
47
+ }
48
+ else {
49
+ console.warn('Microsoft authentification needs "clientId" option');
50
+ }
51
+ }
52
+ loginMicrosoftb2c() {
53
+ this.msalService
54
+ .loginPopup({ ...this.getConf().authRequest })
55
+ .subscribe((response) => {
56
+ this.msalService.instance.setActiveAccount(response.account);
57
+ this.checkAccount();
58
+ });
59
+ }
60
+ checkAccount() {
61
+ this.msalService.instance
62
+ .acquireTokenSilent(this.getConf().authRequest)
63
+ .then((response) => {
64
+ const token = response.idToken;
65
+ this.authService.loginWithToken(token, 'microsoftb2c').subscribe(() => {
66
+ this.appRef.tick();
67
+ this.login.emit(true);
68
+ });
69
+ })
70
+ .catch(async (error) => {
71
+ if (error instanceof InteractionRequiredAuthError) {
72
+ // fallback to interaction when silent call fails
73
+ return this.msalService.acquireTokenPopup(this.getConf().authRequest);
74
+ }
75
+ })
76
+ .catch((error) => {
77
+ console.log('Silent token fails');
78
+ });
79
+ }
80
+ getConf() {
81
+ return this.msalGuardConfig.filter((conf) => conf.type === 'b2c')[0];
82
+ }
83
+ static ɵfac = function AuthMicrosoftb2cComponent_Factory(t) { return new (t || AuthMicrosoftb2cComponent)(i0.ɵɵdirectiveInject(i1.AuthService), i0.ɵɵdirectiveInject(i2.ConfigService), i0.ɵɵdirectiveInject(i0.ApplicationRef), i0.ɵɵdirectiveInject(i3.MsalServiceb2c), i0.ɵɵdirectiveInject(MSAL_GUARD_CONFIG)); };
84
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AuthMicrosoftb2cComponent, selectors: [["igo-auth-microsoftb2c"]], outputs: { login: "login" }, decls: 4, vars: 3, consts: [["mat-raised-button", "", 1, "microsoft-login-button", 3, "click"], ["svgIcon", "microsoft"]], template: function AuthMicrosoftb2cComponent_Template(rf, ctx) { if (rf & 1) {
85
+ i0.ɵɵelementStart(0, "button", 0);
86
+ i0.ɵɵlistener("click", function AuthMicrosoftb2cComponent_Template_button_click_0_listener() { return ctx.loginMicrosoftb2c(); });
87
+ i0.ɵɵelement(1, "mat-icon", 1);
88
+ i0.ɵɵtext(2);
89
+ i0.ɵɵpipe(3, "translate");
90
+ i0.ɵɵelementEnd();
91
+ } if (rf & 2) {
92
+ i0.ɵɵadvance(2);
93
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 1, "igo.auth.microsoftb2c.login"), "\n");
94
+ } }, dependencies: [i4.MatIcon, i5.MatButton, i6.TranslatePipe], styles: ["[_nghost-%COMP%]{padding:10px 10px 10px 0;display:inline-block;position:relative;top:-15px}[_nghost-%COMP%] > button[_ngcontent-%COMP%]{font-size:15px;height:40px;width:265px}mat-icon[_ngcontent-%COMP%]{margin-right:10px}"], changeDetection: 0 });
95
+ }
96
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AuthMicrosoftb2cComponent, [{
97
+ type: Component,
98
+ args: [{ selector: 'igo-auth-microsoftb2c', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\r\n class=\"microsoft-login-button\"\r\n mat-raised-button\r\n (click)=\"loginMicrosoftb2c()\"\r\n>\r\n <mat-icon svgIcon=\"microsoft\"></mat-icon>\r\n {{ 'igo.auth.microsoftb2c.login' | translate }}\r\n</button>\r\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"] }]
99
+ }], function () { return [{ type: i1.AuthService }, { type: i2.ConfigService }, { type: i0.ApplicationRef }, { type: i3.MsalServiceb2c }, { type: undefined, decorators: [{
100
+ type: Inject,
101
+ args: [MSAL_GUARD_CONFIG]
102
+ }] }]; }, { login: [{
103
+ type: Output
104
+ }] }); })();
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1taWNyb3NvZnRiMmMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYXV0aC9zcmMvbGliL2F1dGgtZm9ybS9hdXRoLW1pY3Jvc29mdGIyYy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hdXRoL3NyYy9saWIvYXV0aC1mb3JtL2F1dGgtbWljcm9zb2Z0YjJjLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsdUJBQXVCLEVBQ3ZCLGNBQWMsRUFDZCxNQUFNLEVBQ04sWUFBWSxFQUNaLE1BQU0sRUFDUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RCxPQUFPLEVBQ0wsaUJBQWlCLEVBRWpCLHVCQUF1QixFQUd2Qiw0QkFBNEIsRUFDN0IsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBSzNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDekYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOzs7Ozs7OztBQVF4RSxNQUFNLE9BQU8seUJBQXlCO0lBTzFCO0lBQ0E7SUFDQTtJQUNBO0lBRUE7SUFYRixPQUFPLENBQTBCO0lBQ3hCLFlBQVksR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBQzFDLEtBQUssR0FBMEIsSUFBSSxZQUFZLEVBQVcsQ0FBQztJQUM3RCxnQkFBZ0Is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Q0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUNwQyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxPQUFPO1FBQ2IsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN2RSxDQUFDO21GQTlFVSx5QkFBeUIsdUxBVzFCLGlCQUFpQjs2REFYaEIseUJBQXlCO1lDbkN0QyxpQ0FJQztZQURDLHNHQUFTLHVCQUFtQixJQUFDO1lBRTdCLDhCQUF5QztZQUN6QyxZQUNGOztZQUFBLGlCQUFTOztZQURQLGVBQ0Y7WUFERSxxRkFDRjs7O3VGRDRCYSx5QkFBeUI7Y0FOckMsU0FBUzsyQkFDRSx1QkFBdUIsbUJBR2hCLHVCQUF1QixDQUFDLE1BQU07O3NCQWE1QyxNQUFNO3VCQUFDLGlCQUFpQjt3QkFSakIsS0FBSztrQkFBZCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQXBwbGljYXRpb25SZWYsXHJcbiAgT3V0cHV0LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbmplY3RcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IE1TQUxfR1VBUkRfQ09ORklHIH0gZnJvbSAnQGF6dXJlL21zYWwtYW5ndWxhcic7XHJcbmltcG9ydCB7XHJcbiAgSW50ZXJhY3Rpb25TdGF0dXMsXHJcbiAgQXV0aGVudGljYXRpb25SZXN1bHQsXHJcbiAgUHVibGljQ2xpZW50QXBwbGljYXRpb24sXHJcbiAgUG9wdXBSZXF1ZXN0LFxyXG4gIFNpbGVudFJlcXVlc3QsXHJcbiAgSW50ZXJhY3Rpb25SZXF1aXJlZEF1dGhFcnJvclxyXG59IGZyb20gJ0BhenVyZS9tc2FsLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgQXV0aE1pY3Jvc29mdGIyY09wdGlvbnMsXHJcbiAgTVNQTXNhbEd1YXJkQ29uZmlndXJhdGlvblxyXG59IGZyb20gJy4uL3NoYXJlZC9hdXRoLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vc2hhcmVkL2F1dGguc2VydmljZSc7XHJcbmltcG9ydCB7IGZpbHRlciwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IE1zYWxCcm9hZGNhc3RTZXJ2aWNlYjJjIH0gZnJvbSAnLi4vc2hhcmVkL2F1dGgtbXNhbEJyb2FkY2FzdFNlcnZpY2ViMmMuc2VydmljZSc7XHJcbmltcG9ydCB7IE1zYWxTZXJ2aWNlYjJjIH0gZnJvbSAnLi4vc2hhcmVkL2F1dGgtbXNhbFNlcnZpY2ViMmMuc2VydmljZS4nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpZ28tYXV0aC1taWNyb3NvZnRiMmMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9hdXRoLW1pY3Jvc29mdGIyYy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYXV0aC1taWNyb3NvZnRiMmMuY29tcG9uZW50LnNjc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXV0aE1pY3Jvc29mdGIyY0NvbXBvbmVudCB7XHJcbiAgcHJpdmF0ZSBvcHRpb25zOiBBdXRoTWljcm9zb2Z0YjJjT3B0aW9ucztcclxuICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95aW5nJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgQE91dHB1dCgpIGxvZ2luOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbiAgcHJpdmF0ZSBicm9hZGNhc3RTZXJ2aWNlOiBNc2FsQnJvYWRjYXN0U2VydmljZWIyYztcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSxcclxuICAgIHByaXZhdGUgY29uZmlnOiBDb25maWdTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBhcHBSZWY6IEFwcGxpY2F0aW9uUmVmLFxyXG4gICAgcHJpdmF0ZSBtc2FsU2VydmljZTogTXNhbFNlcnZpY2ViMmMsXHJcbiAgICBASW5qZWN0KE1TQUxfR1VBUkRfQ09ORklHKVxyXG4gICAgcHJpdmF0ZSBtc2FsR3VhcmRDb25maWc6IE1TUE1zYWxHdWFyZENvbmZpZ3VyYXRpb25bXVxyXG4gICkge1xyXG4gICAgdGhpcy5vcHRpb25zID0gdGhpcy5jb25maWcuZ2V0Q29uZmlnKCdhdXRoLm1pY3Jvc29mdGIyYycpIHx8IHt9O1xyXG5cclxuICAgIHRoaXMubXNhbFNlcnZpY2UuaW5zdGFuY2UgPSBuZXcgUHVibGljQ2xpZW50QXBwbGljYXRpb24oe1xyXG4gICAgICBhdXRoOiB0aGlzLm9wdGlvbnMuYnJvd3NlckF1dGhPcHRpb25zLFxyXG4gICAgICBjYWNoZToge1xyXG4gICAgICAgIGNhY2hlTG9jYXRpb246ICdzZXNzaW9uU3RvcmFnZSdcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5icm9hZGNhc3RTZXJ2aWNlID0gbmV3IE1zYWxCcm9hZGNhc3RTZXJ2aWNlYjJjKFxyXG4gICAgICB0aGlzLm1zYWxTZXJ2aWNlLmluc3RhbmNlLFxyXG4gICAgICB0aGlzLm1zYWxTZXJ2aWNlXHJcbiAgICApO1xyXG5cclxuICAgIGlmICh0aGlzLm9wdGlvbnMuYnJvd3NlckF1dGhPcHRpb25zLmNsaWVudElkKSB7XHJcbiAgICAgIHRoaXMuYnJvYWRjYXN0U2VydmljZS5pblByb2dyZXNzJFxyXG4gICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgZmlsdGVyKFxyXG4gICAgICAgICAgICAoc3RhdHVzOiBJbnRlcmFjdGlvblN0YXR1cykgPT4gc3RhdHVzID09PSBJbnRlcmFjdGlvblN0YXR1cy5Ob25lXHJcbiAgICAgICAgICApLFxyXG4gICAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3lpbmckKVxyXG4gICAgICAgIClcclxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgIHRoaXMuY2hlY2tBY2NvdW50KCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zb2xlLndhcm4oJ01pY3Jvc29mdCBhdXRoZW50aWZpY2F0aW9uIG5lZWRzIFwiY2xpZW50SWRcIiBvcHRpb24nKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBsb2dpbk1pY3Jvc29mdGIyYygpIHtcclxuICAgIHRoaXMubXNhbFNlcnZpY2VcclxuICAgICAgLmxvZ2luUG9wdXAoeyAuLi50aGlzLmdldENvbmYoKS5hdXRoUmVxdWVzdCB9IGFzIFBvcHVwUmVxdWVzdClcclxuICAgICAgLnN1YnNjcmliZSgocmVzcG9uc2U6IEF1dGhlbnRpY2F0aW9uUmVzdWx0KSA9PiB7XHJcbiAgICAgICAgdGhpcy5tc2FsU2VydmljZS5pbnN0YW5jZS5zZXRBY3RpdmVBY2NvdW50KHJlc3BvbnNlLmFjY291bnQpO1xyXG4gICAgICAgIHRoaXMuY2hlY2tBY2NvdW50KCk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjaGVja0FjY291bnQoKSB7XHJcbiAgICB0aGlzLm1zYWxTZXJ2aWNlLmluc3RhbmNlXHJcbiAgICAgIC5hY3F1aXJlVG9rZW5TaWxlbnQodGhpcy5nZXRDb25mKCkuYXV0aFJlcXVlc3QgYXMgU2lsZW50UmVxdWVzdClcclxuICAgICAgLnRoZW4oKHJlc3BvbnNlOiBBdXRoZW50aWNhdGlvblJlc3VsdCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHRva2VuID0gcmVzcG9uc2UuaWRUb2tlbjtcclxuICAgICAgICB0aGlzLmF1dGhTZXJ2aWNlLmxvZ2luV2l0aFRva2VuKHRva2VuLCAnbWljcm9zb2Z0YjJjJykuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgIHRoaXMuYXBwUmVmLnRpY2soKTtcclxuICAgICAgICAgIHRoaXMubG9naW4uZW1pdCh0cnVlKTtcclxuICAgICAgICB9KTtcclxuICAgICAgfSlcclxuICAgICAgLmNhdGNoKGFzeW5jIChlcnJvcikgPT4ge1xyXG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEludGVyYWN0aW9uUmVxdWlyZWRBdXRoRXJyb3IpIHtcclxuICAgICAgICAgIC8vIGZhbGxiYWNrIHRvIGludGVyYWN0aW9uIHdoZW4gc2lsZW50IGNhbGwgZmFpbHNcclxuICAgICAgICAgIHJldHVybiB0aGlzLm1zYWxTZXJ2aWNlLmFjcXVpcmVUb2tlblBvcHVwKFxyXG4gICAgICAgICAgICB0aGlzLmdldENvbmYoKS5hdXRoUmVxdWVzdCBhcyBTaWxlbnRSZXF1ZXN0XHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH1cclxuICAgICAgfSlcclxuICAgICAgLmNhdGNoKChlcnJvcikgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKCdTaWxlbnQgdG9rZW4gZmFpbHMnKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldENvbmYoKTogTVNQTXNhbEd1YXJkQ29uZmlndXJhdGlvbiB7XHJcbiAgICByZXR1cm4gdGhpcy5tc2FsR3VhcmRDb25maWcuZmlsdGVyKChjb25mKSA9PiBjb25mLnR5cGUgPT09ICdiMmMnKVswXTtcclxuICB9XHJcbn1cclxuIiwiPGJ1dHRvblxyXG4gIGNsYXNzPVwibWljcm9zb2Z0LWxvZ2luLWJ1dHRvblwiXHJcbiAgbWF0LXJhaXNlZC1idXR0b25cclxuICAoY2xpY2spPVwibG9naW5NaWNyb3NvZnRiMmMoKVwiXHJcbj5cclxuICA8bWF0LWljb24gc3ZnSWNvbj1cIm1pY3Jvc29mdFwiPjwvbWF0LWljb24+XHJcbiAge3sgJ2lnby5hdXRoLm1pY3Jvc29mdGIyYy5sb2dpbicgfCB0cmFuc2xhdGUgfX1cclxuPC9idXR0b24+XHJcbiJdfQ==
@@ -1,5 +1,5 @@
1
- export * from './auth-form.component';
2
- export * from './auth-intern.component';
3
- export * from './auth-facebook.component';
4
- export * from './auth-google.component';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hdXRoL3NyYy9saWIvYXV0aC1mb3JtL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMseUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2F1dGgtZm9ybS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2F1dGgtaW50ZXJuLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vYXV0aC1mYWNlYm9vay5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2F1dGgtZ29vZ2xlLmNvbXBvbmVudCc7XHJcbiJdfQ==
1
+ export * from './auth-form.component';
2
+ export * from './auth-intern.component';
3
+ export * from './auth-facebook.component';
4
+ export * from './auth-google.component';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hdXRoL3NyYy9saWIvYXV0aC1mb3JtL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMseUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2F1dGgtZm9ybS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9hdXRoLWludGVybi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9hdXRoLWZhY2Vib29rLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2F1dGgtZ29vZ2xlLmNvbXBvbmVudCc7XG4iXX0=
@@ -1,24 +1,24 @@
1
- import { NgModule } from '@angular/core';
2
- import { RouterModule } from '@angular/router';
3
- import { AuthFormComponent } from './auth-form/auth-form.component';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/router";
6
- const routes = [
7
- { path: 'login', component: AuthFormComponent },
8
- { path: 'logout', component: AuthFormComponent }
9
- ];
10
- export class AuthRoutingModule {
11
- }
12
- AuthRoutingModule.ɵfac = function AuthRoutingModule_Factory(t) { return new (t || AuthRoutingModule)(); };
13
- AuthRoutingModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: AuthRoutingModule });
14
- AuthRoutingModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [RouterModule.forChild(routes), RouterModule] });
15
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AuthRoutingModule, [{
16
- type: NgModule,
17
- args: [{
18
- imports: [RouterModule.forChild(routes)],
19
- exports: [RouterModule],
20
- providers: []
21
- }]
22
- }], null, null); })();
23
- (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(AuthRoutingModule, { imports: [i1.RouterModule], exports: [RouterModule] }); })();
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1yb3V0aW5nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2F1dGgvc3JjL2xpYi9hdXRoLXJvdXRpbmcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFVLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXZELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7QUFFcEUsTUFBTSxNQUFNLEdBQVc7SUFDckIsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRTtJQUMvQyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFO0NBQ2pELENBQUM7QUFPRixNQUFNLE9BQU8saUJBQWlCOztrRkFBakIsaUJBQWlCO21FQUFqQixpQkFBaUI7dUVBSmxCLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQzdCLFlBQVk7dUZBR1gsaUJBQWlCO2NBTDdCLFFBQVE7ZUFBQztnQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUN4QyxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7Z0JBQ3ZCLFNBQVMsRUFBRSxFQUFFO2FBQ2Q7O3dGQUNZLGlCQUFpQiwwQ0FIbEIsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJvdXRlcywgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuXHJcbmltcG9ydCB7IEF1dGhGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9hdXRoLWZvcm0vYXV0aC1mb3JtLmNvbXBvbmVudCc7XHJcblxyXG5jb25zdCByb3V0ZXM6IFJvdXRlcyA9IFtcclxuICB7IHBhdGg6ICdsb2dpbicsIGNvbXBvbmVudDogQXV0aEZvcm1Db21wb25lbnQgfSxcclxuICB7IHBhdGg6ICdsb2dvdXQnLCBjb21wb25lbnQ6IEF1dGhGb3JtQ29tcG9uZW50IH1cclxuXTtcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1JvdXRlck1vZHVsZS5mb3JDaGlsZChyb3V0ZXMpXSxcclxuICBleHBvcnRzOiBbUm91dGVyTW9kdWxlXSxcclxuICBwcm92aWRlcnM6IFtdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBdXRoUm91dGluZ01vZHVsZSB7fVxyXG4iXX0=
1
+ import { NgModule } from '@angular/core';
2
+ import { RouterModule } from '@angular/router';
3
+ import { AuthFormComponent } from './auth-form/auth-form.component';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/router";
6
+ const routes = [
7
+ { path: 'login', component: AuthFormComponent },
8
+ { path: 'logout', component: AuthFormComponent }
9
+ ];
10
+ export class AuthRoutingModule {
11
+ static ɵfac = function AuthRoutingModule_Factory(t) { return new (t || AuthRoutingModule)(); };
12
+ static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: AuthRoutingModule });
13
+ static ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [RouterModule.forChild(routes), RouterModule] });
14
+ }
15
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AuthRoutingModule, [{
16
+ type: NgModule,
17
+ args: [{
18
+ imports: [RouterModule.forChild(routes)],
19
+ exports: [RouterModule],
20
+ providers: []
21
+ }]
22
+ }], null, null); })();
23
+ (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(AuthRoutingModule, { imports: [i1.RouterModule], exports: [RouterModule] }); })();
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1yb3V0aW5nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2F1dGgvc3JjL2xpYi9hdXRoLXJvdXRpbmcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFVLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXZELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7QUFFcEUsTUFBTSxNQUFNLEdBQVc7SUFDckIsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRTtJQUMvQyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFO0NBQ2pELENBQUM7QUFPRixNQUFNLE9BQU8saUJBQWlCOzJFQUFqQixpQkFBaUI7NERBQWpCLGlCQUFpQjtnRUFKbEIsWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFDN0IsWUFBWTs7dUZBR1gsaUJBQWlCO2NBTDdCLFFBQVE7ZUFBQztnQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUN4QyxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7Z0JBQ3ZCLFNBQVMsRUFBRSxFQUFFO2FBQ2Q7O3dGQUNZLGlCQUFpQiwwQ0FIbEIsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXMsIFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7IEF1dGhGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9hdXRoLWZvcm0vYXV0aC1mb3JtLmNvbXBvbmVudCc7XG5cbmNvbnN0IHJvdXRlczogUm91dGVzID0gW1xuICB7IHBhdGg6ICdsb2dpbicsIGNvbXBvbmVudDogQXV0aEZvcm1Db21wb25lbnQgfSxcbiAgeyBwYXRoOiAnbG9nb3V0JywgY29tcG9uZW50OiBBdXRoRm9ybUNvbXBvbmVudCB9XG5dO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbUm91dGVyTW9kdWxlLmZvckNoaWxkKHJvdXRlcyldLFxuICBleHBvcnRzOiBbUm91dGVyTW9kdWxlXSxcbiAgcHJvdmlkZXJzOiBbXVxufSlcbmV4cG9ydCBjbGFzcyBBdXRoUm91dGluZ01vZHVsZSB7fVxuIl19