@igo2/auth 17.0.0-next.0 → 17.0.0-next.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/environment/environment.interface.d.ts +6 -0
- package/environment/index.d.ts +5 -0
- package/esm2022/environment/environment.interface.mjs +2 -0
- package/esm2022/environment/igo2-auth-environment.mjs +5 -0
- package/esm2022/environment/public_api.mjs +2 -0
- package/esm2022/facebook/auth-facebook/auth-facebook.component.mjs +65 -0
- package/esm2022/facebook/igo2-auth-facebook.mjs +5 -0
- package/esm2022/facebook/public_api.mjs +3 -0
- package/esm2022/facebook/shared/auth-facebook.interface.mjs +2 -0
- package/esm2022/facebook/shared/index.mjs +2 -0
- package/esm2022/form/auth-form/auth-form.component.mjs +166 -0
- package/esm2022/form/auth-form.module.mjs +73 -0
- package/esm2022/form/igo2-auth-form.mjs +5 -0
- package/esm2022/form/public_api.mjs +7 -0
- package/esm2022/form/shared/auth-form.interface.mjs +2 -0
- package/esm2022/form/shared/index.mjs +2 -0
- package/esm2022/google/auth-google/auth-google.component.mjs +108 -0
- package/esm2022/google/igo2-auth-google.mjs +5 -0
- package/esm2022/google/public_api.mjs +3 -0
- package/esm2022/google/shared/auth-google.interface.mjs +2 -0
- package/esm2022/google/shared/index.mjs +2 -0
- package/esm2022/internal/auth-intern/auth-intern.component.mjs +84 -0
- package/esm2022/internal/igo2-auth-internal.mjs +5 -0
- package/esm2022/internal/public_api.mjs +2 -0
- package/esm2022/lib/auth.provider.mjs +22 -0
- package/esm2022/lib/shared/admin.guard.mjs +6 -6
- package/esm2022/lib/shared/auth-storage.interface.mjs +1 -1
- package/esm2022/lib/shared/auth-storage.service.mjs +7 -6
- package/esm2022/lib/shared/auth.guard.mjs +6 -6
- package/esm2022/lib/shared/auth.interceptor.mjs +6 -6
- package/esm2022/lib/shared/auth.interface.mjs +5 -2
- package/esm2022/lib/shared/auth.service.mjs +12 -8
- package/esm2022/lib/shared/index.mjs +3 -5
- package/esm2022/lib/shared/logged.guard.mjs +6 -6
- package/esm2022/lib/shared/profils.guard.mjs +6 -6
- package/esm2022/lib/shared/token.service.mjs +5 -5
- package/esm2022/microsoft/auth-microsoft/auth-microsoft.component.mjs +100 -0
- package/esm2022/microsoft/auth-microsoft.provider.mjs +105 -0
- package/esm2022/microsoft/auth-microsoftb2c/auth-microsoftb2c.component.mjs +98 -0
- package/esm2022/microsoft/auth-microsoftb2c/auth-msalBroadcastServiceb2c.service.mjs +47 -0
- package/esm2022/microsoft/auth-microsoftb2c/auth-msalServiceb2c.service.mjs +85 -0
- package/esm2022/microsoft/igo2-auth-microsoft.mjs +5 -0
- package/esm2022/microsoft/public_api.mjs +5 -0
- package/esm2022/microsoft/shared/auth-microsoft.interface.mjs +2 -0
- package/esm2022/microsoft/shared/index.mjs +2 -0
- package/esm2022/monitoring/auth-monitoring/auth-monitoring.provider.mjs +24 -0
- package/esm2022/monitoring/auth-monitoring/auth-monitoring.service.mjs +54 -0
- package/esm2022/monitoring/igo2-auth-monitoring.mjs +5 -0
- package/esm2022/monitoring/public_api.mjs +3 -0
- package/esm2022/public_api.mjs +3 -19
- package/{lib/auth-form → facebook/auth-facebook}/auth-facebook.component.d.ts +2 -2
- package/facebook/index.d.ts +5 -0
- package/facebook/public_api.d.ts +2 -0
- package/facebook/shared/auth-facebook.interface.d.ts +4 -0
- package/facebook/shared/index.d.ts +1 -0
- package/fesm2022/igo2-auth-environment.mjs +4 -0
- package/fesm2022/igo2-auth-environment.mjs.map +1 -0
- package/fesm2022/igo2-auth-facebook.mjs +70 -0
- package/fesm2022/igo2-auth-facebook.mjs.map +1 -0
- package/fesm2022/igo2-auth-form.mjs +238 -0
- package/fesm2022/igo2-auth-form.mjs.map +1 -0
- package/fesm2022/igo2-auth-google.mjs +112 -0
- package/fesm2022/igo2-auth-google.mjs.map +1 -0
- package/fesm2022/igo2-auth-internal.mjs +89 -0
- package/fesm2022/igo2-auth-internal.mjs.map +1 -0
- package/fesm2022/igo2-auth-microsoft.mjs +404 -0
- package/fesm2022/igo2-auth-microsoft.mjs.map +1 -0
- package/fesm2022/igo2-auth-monitoring.mjs +81 -0
- package/fesm2022/igo2-auth-monitoring.mjs.map +1 -0
- package/fesm2022/igo2-auth.mjs +244 -1143
- package/fesm2022/igo2-auth.mjs.map +1 -1
- package/{lib → form}/auth-form/auth-form.component.d.ts +4 -5
- package/form/auth-form.module.d.ts +20 -0
- package/form/index.d.ts +5 -0
- package/form/public_api.d.ts +3 -0
- package/form/shared/auth-form.interface.d.ts +9 -0
- package/form/shared/index.d.ts +1 -0
- package/{src/lib → form/src}/auth-form/auth-intern.theme.scss +19 -19
- package/form/src/auth-form.theme.scss +9 -0
- package/{lib/auth-form → google/auth-google}/auth-google.component.d.ts +3 -2
- package/google/index.d.ts +5 -0
- package/google/public_api.d.ts +2 -0
- package/google/shared/auth-google.interface.d.ts +5 -0
- package/google/shared/index.d.ts +1 -0
- package/{lib/auth-form → internal/auth-intern}/auth-intern.component.d.ts +2 -2
- package/internal/index.d.ts +5 -0
- package/internal/public_api.d.ts +1 -0
- package/lib/auth.provider.d.ts +3 -0
- package/lib/shared/admin.guard.d.ts +1 -1
- package/lib/shared/auth-storage.interface.d.ts +1 -1
- package/lib/shared/auth-storage.service.d.ts +2 -1
- package/lib/shared/auth.guard.d.ts +1 -1
- package/lib/shared/auth.interceptor.d.ts +1 -1
- package/lib/shared/auth.interface.d.ts +21 -70
- package/lib/shared/auth.service.d.ts +3 -1
- package/lib/shared/index.d.ts +2 -4
- package/lib/shared/logged.guard.d.ts +1 -1
- package/lib/shared/profils.guard.d.ts +1 -1
- package/locale/en.auth.json +29 -29
- package/locale/fr.auth.json +33 -33
- package/{lib/auth-form → microsoft/auth-microsoft}/auth-microsoft.component.d.ts +5 -3
- package/microsoft/auth-microsoft.provider.d.ts +12 -0
- package/{lib/auth-form → microsoft/auth-microsoftb2c}/auth-microsoftb2c.component.d.ts +6 -4
- package/{lib/shared → microsoft/auth-microsoftb2c}/auth-msalBroadcastServiceb2c.service.d.ts +1 -1
- package/microsoft/index.d.ts +5 -0
- package/microsoft/public_api.d.ts +4 -0
- package/microsoft/shared/auth-microsoft.interface.d.ts +32 -0
- package/microsoft/shared/index.d.ts +1 -0
- package/{lib → monitoring}/auth-monitoring/auth-monitoring.provider.d.ts +1 -1
- package/{lib → monitoring}/auth-monitoring/auth-monitoring.service.d.ts +3 -2
- package/monitoring/index.d.ts +5 -0
- package/monitoring/public_api.d.ts +2 -0
- package/package.json +46 -3
- package/public_api.d.ts +2 -18
- package/src/auth.theme.scss +9 -9
- package/esm2022/lib/auth-form/auth-facebook.component.mjs +0 -65
- package/esm2022/lib/auth-form/auth-form.component.mjs +0 -170
- package/esm2022/lib/auth-form/auth-google.component.mjs +0 -106
- package/esm2022/lib/auth-form/auth-intern.component.mjs +0 -84
- package/esm2022/lib/auth-form/auth-microsoft.component.mjs +0 -100
- package/esm2022/lib/auth-form/auth-microsoftb2c.component.mjs +0 -98
- package/esm2022/lib/auth-form/index.mjs +0 -19
- package/esm2022/lib/auth-monitoring/auth-monitoring.provider.mjs +0 -23
- package/esm2022/lib/auth-monitoring/auth-monitoring.service.mjs +0 -53
- package/esm2022/lib/auth.module.mjs +0 -97
- package/esm2022/lib/environment/environment.interface.mjs +0 -2
- package/esm2022/lib/environment/index.mjs +0 -2
- package/esm2022/lib/shared/auth-microsoft.provider.mjs +0 -86
- package/esm2022/lib/shared/auth-msalBroadcastServiceb2c.service.mjs +0 -47
- package/esm2022/lib/shared/auth-msalServiceb2c.service..mjs +0 -85
- package/esm2022/lib/shared/protected.directive.mjs +0 -21
- package/lib/auth-form/index.d.ts +0 -11
- package/lib/auth.module.d.ts +0 -24
- package/lib/environment/environment.interface.d.ts +0 -5
- package/lib/shared/auth-microsoft.provider.d.ts +0 -30
- package/lib/shared/protected.directive.d.ts +0 -8
- /package/{lib/environment/index.d.ts → environment/public_api.d.ts} +0 -0
- /package/{lib/shared/auth-msalServiceb2c.service..d.ts → microsoft/auth-microsoftb2c/auth-msalServiceb2c.service.d.ts} +0 -0
|
@@ -1,170 +0,0 @@
|
|
|
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 { ConfigService } from '@igo2/core';
|
|
6
|
-
import { TranslateModule } from '@ngx-translate/core';
|
|
7
|
-
import { filter } from 'rxjs/operators';
|
|
8
|
-
import { AuthService } from '../shared/auth.service';
|
|
9
|
-
import { AuthFacebookComponent } from './auth-facebook.component';
|
|
10
|
-
import { AuthGoogleComponent } from './auth-google.component';
|
|
11
|
-
import { AuthInternComponent } from './auth-intern.component';
|
|
12
|
-
import { AuthMicrosoftComponent } from './auth-microsoft.component';
|
|
13
|
-
import { AuthMicrosoftb2cComponent } from './auth-microsoftb2c.component';
|
|
14
|
-
import * as i0 from "@angular/core";
|
|
15
|
-
import * as i1 from "../shared/auth.service";
|
|
16
|
-
import * as i2 from "@igo2/core";
|
|
17
|
-
import * as i3 from "@angular/router";
|
|
18
|
-
import * as i4 from "@angular/material/button";
|
|
19
|
-
import * as i5 from "@ngx-translate/core";
|
|
20
|
-
export class AuthFormComponent {
|
|
21
|
-
auth;
|
|
22
|
-
config;
|
|
23
|
-
router;
|
|
24
|
-
get backgroundDisable() {
|
|
25
|
-
if (this.isLogoutRoute || this.isLogoutRoute) {
|
|
26
|
-
return false;
|
|
27
|
-
}
|
|
28
|
-
return this._backgroundDisable;
|
|
29
|
-
}
|
|
30
|
-
set backgroundDisable(value) {
|
|
31
|
-
this._backgroundDisable = value.toString() === 'true';
|
|
32
|
-
}
|
|
33
|
-
_backgroundDisable = true;
|
|
34
|
-
get hasAlreadyConnectedDiv() {
|
|
35
|
-
return this._hasAlreadyConnectedDiv;
|
|
36
|
-
}
|
|
37
|
-
set hasAlreadyConnectedDiv(value) {
|
|
38
|
-
this._hasAlreadyConnectedDiv = value.toString() === 'true';
|
|
39
|
-
}
|
|
40
|
-
_hasAlreadyConnectedDiv = true;
|
|
41
|
-
get hasLogoutDiv() {
|
|
42
|
-
return this._hasLogoutDiv;
|
|
43
|
-
}
|
|
44
|
-
set hasLogoutDiv(value) {
|
|
45
|
-
this._hasLogoutDiv = value.toString() === 'true';
|
|
46
|
-
}
|
|
47
|
-
_hasLogoutDiv = true;
|
|
48
|
-
get showAlreadyConnectedDiv() {
|
|
49
|
-
if (this.isLogoutRoute) {
|
|
50
|
-
return this.hasAlreadyConnectedDiv;
|
|
51
|
-
}
|
|
52
|
-
return this._showAlreadyConnectedDiv;
|
|
53
|
-
}
|
|
54
|
-
set showAlreadyConnectedDiv(value) {
|
|
55
|
-
this._showAlreadyConnectedDiv = value.toString() === 'true';
|
|
56
|
-
}
|
|
57
|
-
_showAlreadyConnectedDiv = false;
|
|
58
|
-
get showLogoutDiv() {
|
|
59
|
-
if (this.isLogoutRoute) {
|
|
60
|
-
return this.hasLogoutDiv;
|
|
61
|
-
}
|
|
62
|
-
return this._showLogoutDiv;
|
|
63
|
-
}
|
|
64
|
-
set showLogoutDiv(value) {
|
|
65
|
-
this._showLogoutDiv = value.toString() === 'true';
|
|
66
|
-
}
|
|
67
|
-
_showLogoutDiv = false;
|
|
68
|
-
get showLoginDiv() {
|
|
69
|
-
if (!this.isLogoutRoute) {
|
|
70
|
-
return true;
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
login = new EventEmitter();
|
|
74
|
-
options;
|
|
75
|
-
user;
|
|
76
|
-
visible = true;
|
|
77
|
-
isLoginRoute;
|
|
78
|
-
isLogoutRoute;
|
|
79
|
-
constructor(auth, config, router) {
|
|
80
|
-
this.auth = auth;
|
|
81
|
-
this.config = config;
|
|
82
|
-
this.router = router;
|
|
83
|
-
this.options = this.config.getConfig('auth');
|
|
84
|
-
this.visible = Object.getOwnPropertyNames(this.options).length !== 0;
|
|
85
|
-
}
|
|
86
|
-
ngOnInit() {
|
|
87
|
-
this.analyzeRoute();
|
|
88
|
-
this.getName();
|
|
89
|
-
}
|
|
90
|
-
onLogin() {
|
|
91
|
-
this.auth.goToRedirectUrl();
|
|
92
|
-
this.getName();
|
|
93
|
-
this.login.emit(true);
|
|
94
|
-
}
|
|
95
|
-
logout() {
|
|
96
|
-
this.auth.logout().subscribe(() => {
|
|
97
|
-
this.user = undefined;
|
|
98
|
-
if (this.router) {
|
|
99
|
-
if (this.options?.logoutRoute) {
|
|
100
|
-
this.router.navigate([this.options?.logoutRoute]);
|
|
101
|
-
}
|
|
102
|
-
else if (this.options?.homeRoute) {
|
|
103
|
-
this.router.navigate([this.options?.homeRoute]);
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
});
|
|
107
|
-
}
|
|
108
|
-
home() {
|
|
109
|
-
if (this.router && this.options?.homeRoute) {
|
|
110
|
-
this.router.navigate([this.options?.homeRoute]);
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
getName() {
|
|
114
|
-
const tokenDecoded = this.auth.decodeToken();
|
|
115
|
-
if (tokenDecoded) {
|
|
116
|
-
this.user = {
|
|
117
|
-
name: tokenDecoded.user.firstName || tokenDecoded.user.sourceId
|
|
118
|
-
};
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
analyzeRoute() {
|
|
122
|
-
if (!this.router) {
|
|
123
|
-
return;
|
|
124
|
-
}
|
|
125
|
-
this.router.events
|
|
126
|
-
.pipe(filter((event) => event instanceof NavigationStart))
|
|
127
|
-
.subscribe((changeEvent) => {
|
|
128
|
-
if (changeEvent.url) {
|
|
129
|
-
const currentRoute = changeEvent.url;
|
|
130
|
-
const logoutRoute = this.options?.logoutRoute;
|
|
131
|
-
const loginRoute = this.options?.loginRoute;
|
|
132
|
-
this.isLogoutRoute = currentRoute === logoutRoute;
|
|
133
|
-
this.isLoginRoute = currentRoute === loginRoute;
|
|
134
|
-
if (this.isLogoutRoute) {
|
|
135
|
-
this.auth.logout();
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
});
|
|
139
|
-
}
|
|
140
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: AuthFormComponent, deps: [{ token: i1.AuthService }, { token: i2.ConfigService }, { token: i3.Router, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
141
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.1", 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\">\r\n <div\r\n *ngIf=\"!auth.logged && backgroundDisable\"\r\n class=\"backgroundDisable\"\r\n ></div>\r\n\r\n <div *ngIf=\"!auth.logged && showLoginDiv\" class=\"login center-block\">\r\n <h1>{{ 'igo.auth.connection' | translate }}</h1>\r\n\r\n <igo-auth-google\r\n *ngIf=\"options.google && options.google.enabled !== false\"\r\n (login)=\"onLogin()\"\r\n >\r\n </igo-auth-google>\r\n <igo-auth-microsoft\r\n *ngIf=\"options.microsoft && options.microsoft.enabled !== false\"\r\n (login)=\"onLogin()\"\r\n >\r\n </igo-auth-microsoft>\r\n <igo-auth-microsoftb2c\r\n *ngIf=\"options.microsoftb2c && options.microsoftb2c.enabled !== false\"\r\n (login)=\"onLogin()\"\r\n >\r\n </igo-auth-microsoftb2c>\r\n <igo-auth-facebook\r\n *ngIf=\"options.facebook && options.facebook.enabled !== false\"\r\n (login)=\"onLogin()\"\r\n >\r\n </igo-auth-facebook>\r\n <igo-auth-intern\r\n *ngIf=\"!options.intern || options.intern.enabled !== false\"\r\n [allowAnonymous]=\"options.allowAnonymous\"\r\n (login)=\"onLogin()\"\r\n >\r\n </igo-auth-intern>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"auth.logged && showAlreadyConnectedDiv\"\r\n class=\"login center-block\"\r\n >\r\n <p>{{ 'igo.auth.welcome' | translate: user }}</p>\r\n <button mat-raised-button type=\"button\" (click)=\"logout()\">\r\n {{ 'igo.auth.signOut' | translate }}\r\n </button>\r\n </div>\r\n\r\n <div *ngIf=\"showLogoutDiv\" class=\"login center-block\">\r\n <p>{{ 'igo.auth.deconnection' | translate }}</p>\r\n <button\r\n *ngIf=\"options.homeRoute\"\r\n mat-raised-button\r\n type=\"button\"\r\n (click)=\"home()\"\r\n >\r\n {{ 'igo.auth.home' | translate }}\r\n </button>\r\n </div>\r\n</div>\r\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 });
|
|
142
|
-
}
|
|
143
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: AuthFormComponent, decorators: [{
|
|
144
|
-
type: Component,
|
|
145
|
-
args: [{ selector: 'igo-auth-form', changeDetection: ChangeDetectionStrategy.Default, standalone: true, imports: [
|
|
146
|
-
NgIf,
|
|
147
|
-
AuthGoogleComponent,
|
|
148
|
-
AuthMicrosoftComponent,
|
|
149
|
-
AuthMicrosoftb2cComponent,
|
|
150
|
-
AuthFacebookComponent,
|
|
151
|
-
AuthInternComponent,
|
|
152
|
-
MatButtonModule,
|
|
153
|
-
TranslateModule
|
|
154
|
-
], template: "<div *ngIf=\"visible\">\r\n <div\r\n *ngIf=\"!auth.logged && backgroundDisable\"\r\n class=\"backgroundDisable\"\r\n ></div>\r\n\r\n <div *ngIf=\"!auth.logged && showLoginDiv\" class=\"login center-block\">\r\n <h1>{{ 'igo.auth.connection' | translate }}</h1>\r\n\r\n <igo-auth-google\r\n *ngIf=\"options.google && options.google.enabled !== false\"\r\n (login)=\"onLogin()\"\r\n >\r\n </igo-auth-google>\r\n <igo-auth-microsoft\r\n *ngIf=\"options.microsoft && options.microsoft.enabled !== false\"\r\n (login)=\"onLogin()\"\r\n >\r\n </igo-auth-microsoft>\r\n <igo-auth-microsoftb2c\r\n *ngIf=\"options.microsoftb2c && options.microsoftb2c.enabled !== false\"\r\n (login)=\"onLogin()\"\r\n >\r\n </igo-auth-microsoftb2c>\r\n <igo-auth-facebook\r\n *ngIf=\"options.facebook && options.facebook.enabled !== false\"\r\n (login)=\"onLogin()\"\r\n >\r\n </igo-auth-facebook>\r\n <igo-auth-intern\r\n *ngIf=\"!options.intern || options.intern.enabled !== false\"\r\n [allowAnonymous]=\"options.allowAnonymous\"\r\n (login)=\"onLogin()\"\r\n >\r\n </igo-auth-intern>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"auth.logged && showAlreadyConnectedDiv\"\r\n class=\"login center-block\"\r\n >\r\n <p>{{ 'igo.auth.welcome' | translate: user }}</p>\r\n <button mat-raised-button type=\"button\" (click)=\"logout()\">\r\n {{ 'igo.auth.signOut' | translate }}\r\n </button>\r\n </div>\r\n\r\n <div *ngIf=\"showLogoutDiv\" class=\"login center-block\">\r\n <p>{{ 'igo.auth.deconnection' | translate }}</p>\r\n <button\r\n *ngIf=\"options.homeRoute\"\r\n mat-raised-button\r\n type=\"button\"\r\n (click)=\"home()\"\r\n >\r\n {{ 'igo.auth.home' | translate }}\r\n </button>\r\n </div>\r\n</div>\r\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"] }]
|
|
155
|
-
}], ctorParameters: () => [{ type: i1.AuthService }, { type: i2.ConfigService }, { type: i3.Router, decorators: [{
|
|
156
|
-
type: Optional
|
|
157
|
-
}] }], propDecorators: { backgroundDisable: [{
|
|
158
|
-
type: Input
|
|
159
|
-
}], hasAlreadyConnectedDiv: [{
|
|
160
|
-
type: Input
|
|
161
|
-
}], hasLogoutDiv: [{
|
|
162
|
-
type: Input
|
|
163
|
-
}], showAlreadyConnectedDiv: [{
|
|
164
|
-
type: Input
|
|
165
|
-
}], showLogoutDiv: [{
|
|
166
|
-
type: Input
|
|
167
|
-
}], login: [{
|
|
168
|
-
type: Output
|
|
169
|
-
}] } });
|
|
170
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2F1dGgvc3JjL2xpYi9hdXRoLWZvcm0vYXV0aC1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2F1dGgvc3JjL2xpYi9hdXRoLWZvcm0vYXV0aC1mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2QyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLFFBQVEsRUFDUixNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFMUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUUzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3hDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7Ozs7OztBQW1CMUUsTUFBTSxPQUFPLGlCQUFpQjtJ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QixDQUFDLE9BQU8sY0FDcEMsSUFBSSxXQUNQO3dCQUNQLElBQUk7d0JBQ0osbUJBQW1CO3dCQUNuQixzQkFBc0I7d0JBQ3RCLHlCQUF5Qjt3QkFDekIscUJBQXFCO3dCQUNyQixtQkFBbUI7d0JBQ25CLGVBQWU7d0JBQ2YsZUFBZTtxQkFDaEI7OzBCQTRFRSxRQUFRO3lDQXhFUCxpQkFBaUI7c0JBRHBCLEtBQUs7Z0JBYUYsc0JBQXNCO3NCQUR6QixLQUFLO2dCQVVGLFlBQVk7c0JBRGYsS0FBSztnQkFVRix1QkFBdUI7c0JBRDFCLEtBQUs7Z0JBYUYsYUFBYTtzQkFEaEIsS0FBSztnQkFrQkksS0FBSztzQkFBZCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkluaXQsXHJcbiAgT3B0aW9uYWwsXHJcbiAgT3V0cHV0XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7IE5hdmlnYXRpb25TdGFydCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuXHJcbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcclxuXHJcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBBdXRoT3B0aW9ucyB9IGZyb20gJy4uL3NoYXJlZC9hdXRoLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vc2hhcmVkL2F1dGguc2VydmljZSc7XHJcbmltcG9ydCB7IEF1dGhGYWNlYm9va0NvbXBvbmVudCB9IGZyb20gJy4vYXV0aC1mYWNlYm9vay5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBdXRoR29vZ2xlQ29tcG9uZW50IH0gZnJvbSAnLi9hdXRoLWdvb2dsZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBdXRoSW50ZXJuQ29tcG9uZW50IH0gZnJvbSAnLi9hdXRoLWludGVybi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBdXRoTWljcm9zb2Z0Q29tcG9uZW50IH0gZnJvbSAnLi9hdXRoLW1pY3Jvc29mdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBdXRoTWljcm9zb2Z0YjJjQ29tcG9uZW50IH0gZnJvbSAnLi9hdXRoLW1pY3Jvc29mdGIyYy5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpZ28tYXV0aC1mb3JtJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYXV0aC1mb3JtLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9hdXRoLWZvcm0uY29tcG9uZW50LnNjc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LkRlZmF1bHQsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBOZ0lmLFxyXG4gICAgQXV0aEdvb2dsZUNvbXBvbmVudCxcclxuICAgIEF1dGhNaWNyb3NvZnRDb21wb25lbnQsXHJcbiAgICBBdXRoTWljcm9zb2Z0YjJjQ29tcG9uZW50LFxyXG4gICAgQXV0aEZhY2Vib29rQ29tcG9uZW50LFxyXG4gICAgQXV0aEludGVybkNvbXBvbmVudCxcclxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICAgIFRyYW5zbGF0ZU1vZHVsZVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEF1dGhGb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKVxyXG4gIGdldCBiYWNrZ3JvdW5kRGlzYWJsZSgpOiBib29sZWFuIHtcclxuICAgIGlmICh0aGlzLmlzTG9nb3V0Um91dGUgfHwgdGhpcy5pc0xvZ291dFJvdXRlKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLl9iYWNrZ3JvdW5kRGlzYWJsZTtcclxuICB9XHJcbiAgc2V0IGJhY2tncm91bmREaXNhYmxlKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLl9iYWNrZ3JvdW5kRGlzYWJsZSA9IHZhbHVlLnRvU3RyaW5nKCkgPT09ICd0cnVlJztcclxuICB9XHJcbiAgcHJpdmF0ZSBfYmFja2dyb3VuZERpc2FibGUgPSB0cnVlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGdldCBoYXNBbHJlYWR5Q29ubmVjdGVkRGl2KCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2hhc0FscmVhZHlDb25uZWN0ZWREaXY7XHJcbiAgfVxyXG4gIHNldCBoYXNBbHJlYWR5Q29ubmVjdGVkRGl2KHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLl9oYXNBbHJlYWR5Q29ubmVjdGVkRGl2ID0gdmFsdWUudG9TdHJpbmcoKSA9PT0gJ3RydWUnO1xyXG4gIH1cclxuICBwcml2YXRlIF9oYXNBbHJlYWR5Q29ubmVjdGVkRGl2ID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KClcclxuICBnZXQgaGFzTG9nb3V0RGl2KCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2hhc0xvZ291dERpdjtcclxuICB9XHJcbiAgc2V0IGhhc0xvZ291dERpdih2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5faGFzTG9nb3V0RGl2ID0gdmFsdWUudG9TdHJpbmcoKSA9PT0gJ3RydWUnO1xyXG4gIH1cclxuICBwcml2YXRlIF9oYXNMb2dvdXREaXYgPSB0cnVlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGdldCBzaG93QWxyZWFkeUNvbm5lY3RlZERpdigpOiBib29sZWFuIHtcclxuICAgIGlmICh0aGlzLmlzTG9nb3V0Um91dGUpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuaGFzQWxyZWFkeUNvbm5lY3RlZERpdjtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLl9zaG93QWxyZWFkeUNvbm5lY3RlZERpdjtcclxuICB9XHJcbiAgc2V0IHNob3dBbHJlYWR5Q29ubmVjdGVkRGl2KHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLl9zaG93QWxyZWFkeUNvbm5lY3RlZERpdiA9IHZhbHVlLnRvU3RyaW5nKCkgPT09ICd0cnVlJztcclxuICB9XHJcbiAgcHJpdmF0ZSBfc2hvd0FscmVhZHlDb25uZWN0ZWREaXYgPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBnZXQgc2hvd0xvZ291dERpdigpOiBib29sZWFuIHtcclxuICAgIGlmICh0aGlzLmlzTG9nb3V0Um91dGUpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuaGFzTG9nb3V0RGl2O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuX3Nob3dMb2dvdXREaXY7XHJcbiAgfVxyXG4gIHNldCBzaG93TG9nb3V0RGl2KHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLl9zaG93TG9nb3V0RGl2ID0gdmFsdWUudG9TdHJpbmcoKSA9PT0gJ3RydWUnO1xyXG4gIH1cclxuICBwcml2YXRlIF9zaG93TG9nb3V0RGl2ID0gZmFsc2U7XHJcblxyXG4gIGdldCBzaG93TG9naW5EaXYoKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoIXRoaXMuaXNMb2dvdXRSb3V0ZSkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBPdXRwdXQoKSBsb2dpbjogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG5cclxuICBwdWJsaWMgb3B0aW9ucz86IEF1dGhPcHRpb25zO1xyXG4gIHB1YmxpYyB1c2VyO1xyXG5cclxuICBwdWJsaWMgdmlzaWJsZSA9IHRydWU7XHJcblxyXG4gIHByaXZhdGUgaXNMb2dpblJvdXRlOiBib29sZWFuO1xyXG4gIHByaXZhdGUgaXNMb2dvdXRSb3V0ZTogYm9vbGVhbjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgYXV0aDogQXV0aFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNvbmZpZzogQ29uZmlnU2VydmljZSxcclxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgcm91dGVyOiBSb3V0ZXJcclxuICApIHtcclxuICAgIHRoaXMub3B0aW9ucyA9IHRoaXMuY29uZmlnLmdldENvbmZpZygnYXV0aCcpO1xyXG4gICAgdGhpcy52aXNpYmxlID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModGhpcy5vcHRpb25zKS5sZW5ndGggIT09IDA7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmFuYWx5emVSb3V0ZSgpO1xyXG4gICAgdGhpcy5nZXROYW1lKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25Mb2dpbigpIHtcclxuICAgIHRoaXMuYXV0aC5nb1RvUmVkaXJlY3RVcmwoKTtcclxuICAgIHRoaXMuZ2V0TmFtZSgpO1xyXG4gICAgdGhpcy5sb2dpbi5lbWl0KHRydWUpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGxvZ291dCgpIHtcclxuICAgIHRoaXMuYXV0aC5sb2dvdXQoKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICB0aGlzLnVzZXIgPSB1bmRlZmluZWQ7XHJcbiAgICAgIGlmICh0aGlzLnJvdXRlcikge1xyXG4gICAgICAgIGlmICh0aGlzLm9wdGlvbnM/LmxvZ291dFJvdXRlKSB7XHJcbiAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbdGhpcy5vcHRpb25zPy5sb2dvdXRSb3V0ZV0pO1xyXG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5vcHRpb25zPy5ob21lUm91dGUpIHtcclxuICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFt0aGlzLm9wdGlvbnM/LmhvbWVSb3V0ZV0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaG9tZSgpIHtcclxuICAgIGlmICh0aGlzLnJvdXRlciAmJiB0aGlzLm9wdGlvbnM/LmhvbWVSb3V0ZSkge1xyXG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbdGhpcy5vcHRpb25zPy5ob21lUm91dGVdKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0TmFtZSgpIHtcclxuICAgIGNvbnN0IHRva2VuRGVjb2RlZCA9IHRoaXMuYXV0aC5kZWNvZGVUb2tlbigpO1xyXG4gICAgaWYgKHRva2VuRGVjb2RlZCkge1xyXG4gICAgICB0aGlzLnVzZXIgPSB7XHJcbiAgICAgICAgbmFtZTogdG9rZW5EZWNvZGVkLnVzZXIuZmlyc3ROYW1lIHx8IHRva2VuRGVjb2RlZC51c2VyLnNvdXJjZUlkXHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFuYWx5emVSb3V0ZSgpIHtcclxuICAgIGlmICghdGhpcy5yb3V0ZXIpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMucm91dGVyLmV2ZW50c1xyXG4gICAgICAucGlwZShmaWx0ZXIoKGV2ZW50KSA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25TdGFydCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKGNoYW5nZUV2ZW50OiBhbnkpID0+IHtcclxuICAgICAgICBpZiAoY2hhbmdlRXZlbnQudXJsKSB7XHJcbiAgICAgICAgICBjb25zdCBjdXJyZW50Um91dGUgPSBjaGFuZ2VFdmVudC51cmw7XHJcbiAgICAgICAgICBjb25zdCBsb2dvdXRSb3V0ZSA9IHRoaXMub3B0aW9ucz8ubG9nb3V0Um91dGU7XHJcbiAgICAgICAgICBjb25zdCBsb2dpblJvdXRlID0gdGhpcy5vcHRpb25zPy5sb2dpblJvdXRlO1xyXG5cclxuICAgICAgICAgIHRoaXMuaXNMb2dvdXRSb3V0ZSA9IGN1cnJlbnRSb3V0ZSA9PT0gbG9nb3V0Um91dGU7XHJcbiAgICAgICAgICB0aGlzLmlzTG9naW5Sb3V0ZSA9IGN1cnJlbnRSb3V0ZSA9PT0gbG9naW5Sb3V0ZTtcclxuXHJcbiAgICAgICAgICBpZiAodGhpcy5pc0xvZ291dFJvdXRlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuYXV0aC5sb2dvdXQoKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2ICpuZ0lmPVwidmlzaWJsZVwiPlxyXG4gIDxkaXZcclxuICAgICpuZ0lmPVwiIWF1dGgubG9nZ2VkICYmIGJhY2tncm91bmREaXNhYmxlXCJcclxuICAgIGNsYXNzPVwiYmFja2dyb3VuZERpc2FibGVcIlxyXG4gID48L2Rpdj5cclxuXHJcbiAgPGRpdiAqbmdJZj1cIiFhdXRoLmxvZ2dlZCAmJiBzaG93TG9naW5EaXZcIiBjbGFzcz1cImxvZ2luIGNlbnRlci1ibG9ja1wiPlxyXG4gICAgPGgxPnt7ICdpZ28uYXV0aC5jb25uZWN0aW9uJyB8IHRyYW5zbGF0ZSB9fTwvaDE+XHJcblxyXG4gICAgPGlnby1hdXRoLWdvb2dsZVxyXG4gICAgICAqbmdJZj1cIm9wdGlvbnMuZ29vZ2xlICYmIG9wdGlvbnMuZ29vZ2xlLmVuYWJsZWQgIT09IGZhbHNlXCJcclxuICAgICAgKGxvZ2luKT1cIm9uTG9naW4oKVwiXHJcbiAgICA+XHJcbiAgICA8L2lnby1hdXRoLWdvb2dsZT5cclxuICAgIDxpZ28tYXV0aC1taWNyb3NvZnRcclxuICAgICAgKm5nSWY9XCJvcHRpb25zLm1pY3Jvc29mdCAmJiBvcHRpb25zLm1pY3Jvc29mdC5lbmFibGVkICE9PSBmYWxzZVwiXHJcbiAgICAgIChsb2dpbik9XCJvbkxvZ2luKClcIlxyXG4gICAgPlxyXG4gICAgPC9pZ28tYXV0aC1taWNyb3NvZnQ+XHJcbiAgICA8aWdvLWF1dGgtbWljcm9zb2Z0YjJjXHJcbiAgICAgICpuZ0lmPVwib3B0aW9ucy5taWNyb3NvZnRiMmMgJiYgb3B0aW9ucy5taWNyb3NvZnRiMmMuZW5hYmxlZCAhPT0gZmFsc2VcIlxyXG4gICAgICAobG9naW4pPVwib25Mb2dpbigpXCJcclxuICAgID5cclxuICAgIDwvaWdvLWF1dGgtbWljcm9zb2Z0YjJjPlxyXG4gICAgPGlnby1hdXRoLWZhY2Vib29rXHJcbiAgICAgICpuZ0lmPVwib3B0aW9ucy5mYWNlYm9vayAmJiBvcHRpb25zLmZhY2Vib29rLmVuYWJsZWQgIT09IGZhbHNlXCJcclxuICAgICAgKGxvZ2luKT1cIm9uTG9naW4oKVwiXHJcbiAgICA+XHJcbiAgICA8L2lnby1hdXRoLWZhY2Vib29rPlxyXG4gICAgPGlnby1hdXRoLWludGVyblxyXG4gICAgICAqbmdJZj1cIiFvcHRpb25zLmludGVybiB8fCBvcHRpb25zLmludGVybi5lbmFibGVkICE9PSBmYWxzZVwiXHJcbiAgICAgIFthbGxvd0Fub255bW91c109XCJvcHRpb25zLmFsbG93QW5vbnltb3VzXCJcclxuICAgICAgKGxvZ2luKT1cIm9uTG9naW4oKVwiXHJcbiAgICA+XHJcbiAgICA8L2lnby1hdXRoLWludGVybj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdlxyXG4gICAgKm5nSWY9XCJhdXRoLmxvZ2dlZCAmJiBzaG93QWxyZWFkeUNvbm5lY3RlZERpdlwiXHJcbiAgICBjbGFzcz1cImxvZ2luIGNlbnRlci1ibG9ja1wiXHJcbiAgPlxyXG4gICAgPHA+e3sgJ2lnby5hdXRoLndlbGNvbWUnIHwgdHJhbnNsYXRlOiB1c2VyIH19PC9wPlxyXG4gICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cImxvZ291dCgpXCI+XHJcbiAgICAgIHt7ICdpZ28uYXV0aC5zaWduT3V0JyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgPC9idXR0b24+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxkaXYgKm5nSWY9XCJzaG93TG9nb3V0RGl2XCIgY2xhc3M9XCJsb2dpbiBjZW50ZXItYmxvY2tcIj5cclxuICAgIDxwPnt7ICdpZ28uYXV0aC5kZWNvbm5lY3Rpb24nIHwgdHJhbnNsYXRlIH19PC9wPlxyXG4gICAgPGJ1dHRvblxyXG4gICAgICAqbmdJZj1cIm9wdGlvbnMuaG9tZVJvdXRlXCJcclxuICAgICAgbWF0LXJhaXNlZC1idXR0b25cclxuICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgIChjbGljayk9XCJob21lKClcIlxyXG4gICAgPlxyXG4gICAgICB7eyAnaWdvLmF1dGguaG9tZScgfCB0cmFuc2xhdGUgfX1cclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
|
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
import { ApplicationRef, ChangeDetectionStrategy, Component, EventEmitter, Output } from '@angular/core';
|
|
2
|
-
import { ConfigService, LanguageService } from '@igo2/core';
|
|
3
|
-
import { AuthService } from '../shared/auth.service';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "../shared/auth.service";
|
|
6
|
-
import * as i2 from "@igo2/core";
|
|
7
|
-
export class AuthGoogleComponent {
|
|
8
|
-
authService;
|
|
9
|
-
config;
|
|
10
|
-
languageService;
|
|
11
|
-
appRef;
|
|
12
|
-
options;
|
|
13
|
-
login = new EventEmitter();
|
|
14
|
-
constructor(authService, config, languageService, appRef) {
|
|
15
|
-
this.authService = authService;
|
|
16
|
-
this.config = config;
|
|
17
|
-
this.languageService = languageService;
|
|
18
|
-
this.appRef = appRef;
|
|
19
|
-
this.options = this.config.getConfig('auth.google');
|
|
20
|
-
if (this.options?.apiKey && this.options?.clientId) {
|
|
21
|
-
this.loadSDKGoogle();
|
|
22
|
-
this.loadPlatform();
|
|
23
|
-
}
|
|
24
|
-
else {
|
|
25
|
-
console.warn('Google authentification needs "apiKey" and "clientId" options');
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
handleSignInClick() {
|
|
29
|
-
window.gapi.auth2.getAuthInstance().signIn();
|
|
30
|
-
}
|
|
31
|
-
handleSignOutClick() {
|
|
32
|
-
window.gapi.auth2.getAuthInstance().signOut();
|
|
33
|
-
}
|
|
34
|
-
handleClientLoad() {
|
|
35
|
-
window.gapi.load('client:auth2', () => this.initClient());
|
|
36
|
-
}
|
|
37
|
-
initClient() {
|
|
38
|
-
window.gapi.client
|
|
39
|
-
.init({
|
|
40
|
-
apiKey: this.options?.apiKey,
|
|
41
|
-
clientId: this.options?.clientId,
|
|
42
|
-
discoveryDocs: [
|
|
43
|
-
'https://people.googleapis.com/$discovery/rest?version=v1'
|
|
44
|
-
],
|
|
45
|
-
scope: 'profile'
|
|
46
|
-
})
|
|
47
|
-
.then(() => {
|
|
48
|
-
this.handleSignOutClick();
|
|
49
|
-
this.updateTextButton();
|
|
50
|
-
window.gapi.auth2
|
|
51
|
-
.getAuthInstance()
|
|
52
|
-
.isSignedIn.listen((rep) => {
|
|
53
|
-
this.updateSigninStatus(rep);
|
|
54
|
-
});
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
updateSigninStatus(isSignedIn) {
|
|
58
|
-
this.updateTextButton();
|
|
59
|
-
if (isSignedIn) {
|
|
60
|
-
this.loginGoogle(window.gapi.client.getToken().access_token);
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
updateTextButton() {
|
|
64
|
-
const btn = document.querySelector('span[id^="not_signed_"]');
|
|
65
|
-
if (btn && this.languageService.getLanguage() !== 'en') {
|
|
66
|
-
if (btn.innerHTML === 'Sign in with Google') {
|
|
67
|
-
btn.innerHTML = this.languageService.translate.instant('igo.auth.google.login');
|
|
68
|
-
}
|
|
69
|
-
else if (btn.innerHTML === 'Signed in with Google') {
|
|
70
|
-
btn.innerHTML = this.languageService.translate.instant('igo.auth.google.logged');
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
loginGoogle(token) {
|
|
75
|
-
this.authService.loginWithToken(token, 'google').subscribe(() => {
|
|
76
|
-
this.appRef.tick();
|
|
77
|
-
this.login.emit(true);
|
|
78
|
-
});
|
|
79
|
-
}
|
|
80
|
-
loadSDKGoogle() {
|
|
81
|
-
const fjs = document.getElementsByTagName('script')[0];
|
|
82
|
-
const js = document.createElement('script');
|
|
83
|
-
js.id = 'google-jssdk';
|
|
84
|
-
js.src = 'https://apis.google.com/js/api.js';
|
|
85
|
-
js.onload = () => {
|
|
86
|
-
this.handleClientLoad();
|
|
87
|
-
};
|
|
88
|
-
fjs.parentNode.insertBefore(js, fjs);
|
|
89
|
-
}
|
|
90
|
-
loadPlatform() {
|
|
91
|
-
const fjs = document.getElementsByTagName('script')[0];
|
|
92
|
-
const js = document.createElement('script');
|
|
93
|
-
js.id = 'google-platform';
|
|
94
|
-
js.src = 'https://apis.google.com/js/platform.js';
|
|
95
|
-
fjs.parentNode.insertBefore(js, fjs);
|
|
96
|
-
}
|
|
97
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: AuthGoogleComponent, deps: [{ token: i1.AuthService }, { token: i2.ConfigService }, { token: i2.LanguageService }, { token: i0.ApplicationRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
98
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.1", type: AuthGoogleComponent, isStandalone: true, selector: "igo-auth-google", outputs: { login: "login" }, ngImport: i0, template: "<div\r\n class=\"g-signin2 google-login-button\"\r\n data-height=\"40\"\r\n data-width=\"265\"\r\n data-longtitle=\"true\"\r\n></div>\r\n", styles: [":host{padding:10px 10px 10px 0;display:inline-block}.google-login-button ::ng-deep .abcRioButton{color:#000000de}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
99
|
-
}
|
|
100
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: AuthGoogleComponent, decorators: [{
|
|
101
|
-
type: Component,
|
|
102
|
-
args: [{ selector: 'igo-auth-google', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<div\r\n class=\"g-signin2 google-login-button\"\r\n data-height=\"40\"\r\n data-width=\"265\"\r\n data-longtitle=\"true\"\r\n></div>\r\n", styles: [":host{padding:10px 10px 10px 0;display:inline-block}.google-login-button ::ng-deep .abcRioButton{color:#000000de}\n"] }]
|
|
103
|
-
}], ctorParameters: () => [{ type: i1.AuthService }, { type: i2.ConfigService }, { type: i2.LanguageService }, { type: i0.ApplicationRef }], propDecorators: { login: [{
|
|
104
|
-
type: Output
|
|
105
|
-
}] } });
|
|
106
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1nb29nbGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYXV0aC9zcmMvbGliL2F1dGgtZm9ybS9hdXRoLWdvb2dsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hdXRoL3NyYy9saWIvYXV0aC1mb3JtL2F1dGgtZ29vZ2xlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxjQUFjLEVBQ2QsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUNQLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRzVELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7OztBQVNyRCxNQUFNLE9BQU8sbUJBQW1CO0lBTXBCO0lBQ0E7SUFDQTtJQUNBO0lBUkYsT0FBTyxDQUFxQjtJQUUxQixLQUFLLEdBQTBCLElBQUksWUFBWSxFQUFXLENBQUM7SUFFckUsWUFDVSxXQUF3QixFQUN4QixNQUFxQixFQUNyQixlQUFnQyxFQUNoQyxNQUFzQjtRQUh0QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQ3JCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxXQUFNLEdBQU4sTUFBTSxDQUFnQjtRQUU5QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRXBELElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsQ0FBQztZQUNuRCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3RC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dkQsTUFBTSxFQUFFLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM1QyxFQUFFLENBQUMsRUFBRSxHQUFHLGNBQWMsQ0FBQztRQUN2QixFQUFFLENBQUMsR0FBRyxHQUFHLG1DQUFtQyxDQUFDO1FBQzdDLEVBQUUsQ0FBQyxNQUFNLEdBQUcsR0FBRyxFQUFFO1lBQ2YsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDMUIsQ0FBQyxDQUFDO1FBQ0YsR0FBRyxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFTyxZQUFZO1FBQ2xCLE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN2RCxNQUFNLEVBQUUsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzVDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsaUJBQWlCLENBQUM7UUFDMUIsRUFBRSxDQUFDLEdBQUcsR0FBRyx3Q0FBd0MsQ0FBQztRQUNsRCxHQUFHLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDdkMsQ0FBQzt1R0F0R1UsbUJBQW1COzJGQUFuQixtQkFBbUIsd0dDcEJoQywrSUFNQTs7MkZEY2EsbUJBQW1CO2tCQVAvQixTQUFTOytCQUNFLGlCQUFpQixtQkFHVix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUk7dUtBS04sS0FBSztzQkFBZCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBBcHBsaWNhdGlvblJlZixcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIE91dHB1dFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgQ29uZmlnU2VydmljZSwgTGFuZ3VhZ2VTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBBdXRoR29vZ2xlT3B0aW9ucyB9IGZyb20gJy4uL3NoYXJlZC9hdXRoLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vc2hhcmVkL2F1dGguc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2lnby1hdXRoLWdvb2dsZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2F1dGgtZ29vZ2xlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9hdXRoLWdvb2dsZS5jb21wb25lbnQuc2NzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIHN0YW5kYWxvbmU6IHRydWVcclxufSlcclxuZXhwb3J0IGNsYXNzIEF1dGhHb29nbGVDb21wb25lbnQge1xyXG4gIHByaXZhdGUgb3B0aW9ucz86IEF1dGhHb29nbGVPcHRpb25zO1xyXG5cclxuICBAT3V0cHV0KCkgbG9naW46IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSxcclxuICAgIHByaXZhdGUgY29uZmlnOiBDb25maWdTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBsYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlU2VydmljZSxcclxuICAgIHByaXZhdGUgYXBwUmVmOiBBcHBsaWNhdGlvblJlZlxyXG4gICkge1xyXG4gICAgdGhpcy5vcHRpb25zID0gdGhpcy5jb25maWcuZ2V0Q29uZmlnKCdhdXRoLmdvb2dsZScpO1xyXG5cclxuICAgIGlmICh0aGlzLm9wdGlvbnM/LmFwaUtleSAmJiB0aGlzLm9wdGlvbnM/LmNsaWVudElkKSB7XHJcbiAgICAgIHRoaXMubG9hZFNES0dvb2dsZSgpO1xyXG4gICAgICB0aGlzLmxvYWRQbGF0Zm9ybSgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc29sZS53YXJuKFxyXG4gICAgICAgICdHb29nbGUgYXV0aGVudGlmaWNhdGlvbiBuZWVkcyBcImFwaUtleVwiIGFuZCBcImNsaWVudElkXCIgb3B0aW9ucydcclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVTaWduSW5DbGljaygpIHtcclxuICAgICh3aW5kb3cgYXMgYW55KS5nYXBpLmF1dGgyLmdldEF1dGhJbnN0YW5jZSgpLnNpZ25JbigpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVNpZ25PdXRDbGljaygpIHtcclxuICAgICh3aW5kb3cgYXMgYW55KS5nYXBpLmF1dGgyLmdldEF1dGhJbnN0YW5jZSgpLnNpZ25PdXQoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaGFuZGxlQ2xpZW50TG9hZCgpIHtcclxuICAgICh3aW5kb3cgYXMgYW55KS5nYXBpLmxvYWQoJ2NsaWVudDphdXRoMicsICgpID0+IHRoaXMuaW5pdENsaWVudCgpKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaW5pdENsaWVudCgpIHtcclxuICAgICh3aW5kb3cgYXMgYW55KS5nYXBpLmNsaWVudFxyXG4gICAgICAuaW5pdCh7XHJcbiAgICAgICAgYXBpS2V5OiB0aGlzLm9wdGlvbnM/LmFwaUtleSxcclxuICAgICAgICBjbGllbnRJZDogdGhpcy5vcHRpb25zPy5jbGllbnRJZCxcclxuICAgICAgICBkaXNjb3ZlcnlEb2NzOiBbXHJcbiAgICAgICAgICAnaHR0cHM6Ly9wZW9wbGUuZ29vZ2xlYXBpcy5jb20vJGRpc2NvdmVyeS9yZXN0P3ZlcnNpb249djEnXHJcbiAgICAgICAgXSxcclxuICAgICAgICBzY29wZTogJ3Byb2ZpbGUnXHJcbiAgICAgIH0pXHJcbiAgICAgIC50aGVuKCgpID0+IHtcclxuICAgICAgICB0aGlzLmhhbmRsZVNpZ25PdXRDbGljaygpO1xyXG4gICAgICAgIHRoaXMudXBkYXRlVGV4dEJ1dHRvbigpO1xyXG4gICAgICAgICh3aW5kb3cgYXMgYW55KS5nYXBpLmF1dGgyXHJcbiAgICAgICAgICAuZ2V0QXV0aEluc3RhbmNlKClcclxuICAgICAgICAgIC5pc1NpZ25lZEluLmxpc3RlbigocmVwKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMudXBkYXRlU2lnbmluU3RhdHVzKHJlcCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVwZGF0ZVNpZ25pblN0YXR1cyhpc1NpZ25lZEluKSB7XHJcbiAgICB0aGlzLnVwZGF0ZVRleHRCdXR0b24oKTtcclxuICAgIGlmIChpc1NpZ25lZEluKSB7XHJcbiAgICAgIHRoaXMubG9naW5Hb29nbGUoKHdpbmRvdyBhcyBhbnkpLmdhcGkuY2xpZW50LmdldFRva2VuKCkuYWNjZXNzX3Rva2VuKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgdXBkYXRlVGV4dEJ1dHRvbigpIHtcclxuICAgIGNvbnN0IGJ0biA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ3NwYW5baWRePVwibm90X3NpZ25lZF9cIl0nKTtcclxuICAgIGlmIChidG4gJiYgdGhpcy5sYW5ndWFnZVNlcnZpY2UuZ2V0TGFuZ3VhZ2UoKSAhPT0gJ2VuJykge1xyXG4gICAgICBpZiAoYnRuLmlubmVySFRNTCA9PT0gJ1NpZ24gaW4gd2l0aCBHb29nbGUnKSB7XHJcbiAgICAgICAgYnRuLmlubmVySFRNTCA9IHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KFxyXG4gICAgICAgICAgJ2lnby5hdXRoLmdvb2dsZS5sb2dpbidcclxuICAgICAgICApO1xyXG4gICAgICB9IGVsc2UgaWYgKGJ0bi5pbm5lckhUTUwgPT09ICdTaWduZWQgaW4gd2l0aCBHb29nbGUnKSB7XHJcbiAgICAgICAgYnRuLmlubmVySFRNTCA9IHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KFxyXG4gICAgICAgICAgJ2lnby5hdXRoLmdvb2dsZS5sb2dnZWQnXHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBsb2dpbkdvb2dsZSh0b2tlbikge1xyXG4gICAgdGhpcy5hdXRoU2VydmljZS5sb2dpbldpdGhUb2tlbih0b2tlbiwgJ2dvb2dsZScpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMuYXBwUmVmLnRpY2soKTtcclxuICAgICAgdGhpcy5sb2dpbi5lbWl0KHRydWUpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGxvYWRTREtHb29nbGUoKSB7XHJcbiAgICBjb25zdCBmanMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnc2NyaXB0JylbMF07XHJcbiAgICBjb25zdCBqcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO1xyXG4gICAganMuaWQgPSAnZ29vZ2xlLWpzc2RrJztcclxuICAgIGpzLnNyYyA9ICdodHRwczovL2FwaXMuZ29vZ2xlLmNvbS9qcy9hcGkuanMnO1xyXG4gICAganMub25sb2FkID0gKCkgPT4ge1xyXG4gICAgICB0aGlzLmhhbmRsZUNsaWVudExvYWQoKTtcclxuICAgIH07XHJcbiAgICBmanMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoanMsIGZqcyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGxvYWRQbGF0Zm9ybSgpIHtcclxuICAgIGNvbnN0IGZqcyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdzY3JpcHQnKVswXTtcclxuICAgIGNvbnN0IGpzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XHJcbiAgICBqcy5pZCA9ICdnb29nbGUtcGxhdGZvcm0nO1xyXG4gICAganMuc3JjID0gJ2h0dHBzOi8vYXBpcy5nb29nbGUuY29tL2pzL3BsYXRmb3JtLmpzJztcclxuICAgIGZqcy5wYXJlbnROb2RlLmluc2VydEJlZm9yZShqcywgZmpzKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdlxyXG4gIGNsYXNzPVwiZy1zaWduaW4yIGdvb2dsZS1sb2dpbi1idXR0b25cIlxyXG4gIGRhdGEtaGVpZ2h0PVwiNDBcIlxyXG4gIGRhdGEtd2lkdGg9XCIyNjVcIlxyXG4gIGRhdGEtbG9uZ3RpdGxlPVwidHJ1ZVwiXHJcbj48L2Rpdj5cclxuIl19
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
import { NgIf } from '@angular/common';
|
|
2
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
|
|
3
|
-
import { FormsModule, ReactiveFormsModule, UntypedFormBuilder, Validators } from '@angular/forms';
|
|
4
|
-
import { MatButtonModule } from '@angular/material/button';
|
|
5
|
-
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
6
|
-
import { MatInputModule } from '@angular/material/input';
|
|
7
|
-
import { MatProgressSpinner } from '@angular/material/progress-spinner';
|
|
8
|
-
import { LanguageService } from '@igo2/core';
|
|
9
|
-
import { TranslateModule } from '@ngx-translate/core';
|
|
10
|
-
import { AuthService } from '../shared/auth.service';
|
|
11
|
-
import * as i0 from "@angular/core";
|
|
12
|
-
import * as i1 from "../shared/auth.service";
|
|
13
|
-
import * as i2 from "@igo2/core";
|
|
14
|
-
import * as i3 from "@angular/forms";
|
|
15
|
-
import * as i4 from "@angular/material/form-field";
|
|
16
|
-
import * as i5 from "@angular/material/input";
|
|
17
|
-
import * as i6 from "@angular/material/button";
|
|
18
|
-
import * as i7 from "@ngx-translate/core";
|
|
19
|
-
export class AuthInternComponent {
|
|
20
|
-
auth;
|
|
21
|
-
languageService;
|
|
22
|
-
get allowAnonymous() {
|
|
23
|
-
return this._allowAnonymous;
|
|
24
|
-
}
|
|
25
|
-
set allowAnonymous(value) {
|
|
26
|
-
this._allowAnonymous = value;
|
|
27
|
-
}
|
|
28
|
-
_allowAnonymous = true;
|
|
29
|
-
error = '';
|
|
30
|
-
form;
|
|
31
|
-
loading = false;
|
|
32
|
-
login = new EventEmitter();
|
|
33
|
-
constructor(auth, languageService, fb) {
|
|
34
|
-
this.auth = auth;
|
|
35
|
-
this.languageService = languageService;
|
|
36
|
-
this.form = fb.group({
|
|
37
|
-
username: ['', Validators.required],
|
|
38
|
-
password: ['', Validators.required]
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
loginUser(values) {
|
|
42
|
-
this.loading = true;
|
|
43
|
-
this.auth.login(values.username, values.password).subscribe(() => {
|
|
44
|
-
this.login.emit(true);
|
|
45
|
-
this.loading = false;
|
|
46
|
-
}, (error) => {
|
|
47
|
-
try {
|
|
48
|
-
this.languageService.translate
|
|
49
|
-
.get('igo.auth.error.' + error.error.message)
|
|
50
|
-
.subscribe((errorMsg) => (this.error = errorMsg));
|
|
51
|
-
}
|
|
52
|
-
catch (e) {
|
|
53
|
-
this.error = error.error.message;
|
|
54
|
-
}
|
|
55
|
-
this.loading = false;
|
|
56
|
-
});
|
|
57
|
-
return false;
|
|
58
|
-
}
|
|
59
|
-
loginAnonymous() {
|
|
60
|
-
this.auth.loginAnonymous().subscribe(() => {
|
|
61
|
-
this.login.emit(true);
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: AuthInternComponent, deps: [{ token: i1.AuthService }, { token: i2.LanguageService }, { token: i3.UntypedFormBuilder }], target: i0.ɵɵFactoryTarget.Component });
|
|
65
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.1", type: AuthInternComponent, isStandalone: true, selector: "igo-auth-intern", inputs: { allowAnonymous: "allowAnonymous" }, outputs: { login: "login" }, ngImport: i0, 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 (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\r\n<div *ngIf=\"loading\" class=\"loading-container\">\r\n <mat-spinner [diameter]=\"40\"></mat-spinner>\r\n</div>\r\n", styles: [".full-width{width:100%}.anonymous{margin-left:10px}.loading-container{position:absolute;width:100%;height:100%;display:flex;justify-content:center;align-items:center;z-index:1000;top:0;left:0;padding:24px;box-sizing:border-box}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.Default });
|
|
66
|
-
}
|
|
67
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: AuthInternComponent, decorators: [{
|
|
68
|
-
type: Component,
|
|
69
|
-
args: [{ selector: 'igo-auth-intern', changeDetection: ChangeDetectionStrategy.Default, standalone: true, imports: [
|
|
70
|
-
FormsModule,
|
|
71
|
-
ReactiveFormsModule,
|
|
72
|
-
MatFormFieldModule,
|
|
73
|
-
MatInputModule,
|
|
74
|
-
MatButtonModule,
|
|
75
|
-
MatProgressSpinner,
|
|
76
|
-
NgIf,
|
|
77
|
-
TranslateModule
|
|
78
|
-
], 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 (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\r\n<div *ngIf=\"loading\" class=\"loading-container\">\r\n <mat-spinner [diameter]=\"40\"></mat-spinner>\r\n</div>\r\n", styles: [".full-width{width:100%}.anonymous{margin-left:10px}.loading-container{position:absolute;width:100%;height:100%;display:flex;justify-content:center;align-items:center;z-index:1000;top:0;left:0;padding:24px;box-sizing:border-box}\n"] }]
|
|
79
|
-
}], ctorParameters: () => [{ type: i1.AuthService }, { type: i2.LanguageService }, { type: i3.UntypedFormBuilder }], propDecorators: { allowAnonymous: [{
|
|
80
|
-
type: Input
|
|
81
|
-
}], login: [{
|
|
82
|
-
type: Output
|
|
83
|
-
}] } });
|
|
84
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1pbnRlcm4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYXV0aC9zcmMvbGliL2F1dGgtZm9ybS9hdXRoLWludGVybi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hdXRoL3NyYy9saWIvYXV0aC1mb3JtL2F1dGgtaW50ZXJuLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2QyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsV0FBVyxFQUNYLG1CQUFtQixFQUNuQixrQkFBa0IsRUFFbEIsVUFBVSxFQUNYLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUV4RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRTdDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7Ozs7OztBQW1CckQsTUFBTSxPQUFPLG1CQUFtQjtJQWlCckI7SUFDQztJQWpCVixJQUNJLGNBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQzlCLENBQUM7SUFDRCxJQUFJLGNBQWMsQ0FBQyxLQUFjO1FBQy9CLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO0lBQy9CLENBQUM7SUFDTyxlQUFlLEdBQUcsSUFBSSxDQUFDO0lBRXhCLEtBQUssR0FBRyxFQUFFLENBQUM7SUFDWCxJQUFJLENBQW1CO0lBQ3ZCLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFFYixLQUFLLEdBQTBCLElBQUksWUFBWSxFQUFXLENBQUM7SUFFckUsWUFDUyxJQUFpQixFQUNoQixlQUFnQyxFQUN4QyxFQUFzQjtRQUZmLFNBQUksR0FBSixJQUFJLENBQWE7UUFDaEIsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBR3hDLElBQUksQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQztZQUNuQixRQUFRLEVBQUUsQ0FBQyxFQUFFLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUNuQyxRQUFRLEVBQUUsQ0FBQyxFQUFFLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztTQUNwQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsU0FBUyxDQUFDLE1BQVc7UUFDbkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDcEIsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsU0FBUyxDQUN6RCxHQUFHLEVBQUU7WUFDSCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN0QixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUN2QixDQUFDLEVBQ0QsQ0FBQyxLQUFVLEVBQUUsRUFBRTtZQUNiLElBQUksQ0FBQztnQkFDSCxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVM7cUJBQzNCLEdBQUcsQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQztxQkFDNUMsU0FBUyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQztZQUN0RCxDQUFDO1lBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztnQkFDWCxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDO1lBQ25DLENBQUM7WUFDRCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUN2QixDQUFDLENBQ0YsQ0FBQztRQUNGLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELGNBQWM7UUFDWixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDeEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO3VHQXBEVSxtQkFBbUI7MkZBQW5CLG1CQUFtQixzSkMzQ2hDLGkxQ0ErQ0EsOFJEZEksV0FBVyx3M0JBQ1gsbUJBQW1CLCtVQUNuQixrQkFBa0IsMFNBQ2xCLGNBQWMsMFdBQ2QsZUFBZSw0TkFDZixrQkFBa0IsK0tBQ2xCLElBQUksNEZBQ0osZUFBZTs7MkZBR04sbUJBQW1CO2tCQWpCL0IsU0FBUzsrQkFDRSxpQkFBaUIsbUJBR1YsdUJBQXVCLENBQUMsT0FBTyxjQUNwQyxJQUFJLFdBQ1A7d0JBQ1AsV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLGtCQUFrQjt3QkFDbEIsY0FBYzt3QkFDZCxlQUFlO3dCQUNmLGtCQUFrQjt3QkFDbEIsSUFBSTt3QkFDSixlQUFlO3FCQUNoQjsrSUFJRyxjQUFjO3NCQURqQixLQUFLO2dCQWFJLEtBQUs7c0JBQWQsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT3V0cHV0XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgRm9ybXNNb2R1bGUsXHJcbiAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICBVbnR5cGVkRm9ybUJ1aWxkZXIsXHJcbiAgVW50eXBlZEZvcm1Hcm91cCxcclxuICBWYWxpZGF0b3JzXHJcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcclxuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XHJcbmltcG9ydCB7IE1hdFByb2dyZXNzU3Bpbm5lciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLXNwaW5uZXInO1xyXG5cclxuaW1wb3J0IHsgTGFuZ3VhZ2VTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuXHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vc2hhcmVkL2F1dGguc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2lnby1hdXRoLWludGVybicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2F1dGgtaW50ZXJuLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9hdXRoLWludGVybi5jb21wb25lbnQuc2NzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuRGVmYXVsdCxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcclxuICAgIE1hdElucHV0TW9kdWxlLFxyXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxyXG4gICAgTWF0UHJvZ3Jlc3NTcGlubmVyLFxyXG4gICAgTmdJZixcclxuICAgIFRyYW5zbGF0ZU1vZHVsZVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEF1dGhJbnRlcm5Db21wb25lbnQge1xyXG4gIEBJbnB1dCgpXHJcbiAgZ2V0IGFsbG93QW5vbnltb3VzKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2FsbG93QW5vbnltb3VzO1xyXG4gIH1cclxuICBzZXQgYWxsb3dBbm9ueW1vdXModmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuX2FsbG93QW5vbnltb3VzID0gdmFsdWU7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2FsbG93QW5vbnltb3VzID0gdHJ1ZTtcclxuXHJcbiAgcHVibGljIGVycm9yID0gJyc7XHJcbiAgcHVibGljIGZvcm06IFVudHlwZWRGb3JtR3JvdXA7XHJcbiAgcHVibGljIGxvYWRpbmcgPSBmYWxzZTtcclxuXHJcbiAgQE91dHB1dCgpIGxvZ2luOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIGF1dGg6IEF1dGhTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBsYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlU2VydmljZSxcclxuICAgIGZiOiBVbnR5cGVkRm9ybUJ1aWxkZXJcclxuICApIHtcclxuICAgIHRoaXMuZm9ybSA9IGZiLmdyb3VwKHtcclxuICAgICAgdXNlcm5hbWU6IFsnJywgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXHJcbiAgICAgIHBhc3N3b3JkOiBbJycsIFZhbGlkYXRvcnMucmVxdWlyZWRdXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGxvZ2luVXNlcih2YWx1ZXM6IGFueSkge1xyXG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuICAgIHRoaXMuYXV0aC5sb2dpbih2YWx1ZXMudXNlcm5hbWUsIHZhbHVlcy5wYXNzd29yZCkuc3Vic2NyaWJlKFxyXG4gICAgICAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5sb2dpbi5lbWl0KHRydWUpO1xyXG4gICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICB9LFxyXG4gICAgICAoZXJyb3I6IGFueSkgPT4ge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGVcclxuICAgICAgICAgICAgLmdldCgnaWdvLmF1dGguZXJyb3IuJyArIGVycm9yLmVycm9yLm1lc3NhZ2UpXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGVycm9yTXNnKSA9PiAodGhpcy5lcnJvciA9IGVycm9yTXNnKSk7XHJcbiAgICAgICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgICAgdGhpcy5lcnJvciA9IGVycm9yLmVycm9yLm1lc3NhZ2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgbG9naW5Bbm9ueW1vdXMoKSB7XHJcbiAgICB0aGlzLmF1dGgubG9naW5Bbm9ueW1vdXMoKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICB0aGlzLmxvZ2luLmVtaXQodHJ1ZSk7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCIgcm9sZT1cImZvcm1cIiAobmdTdWJtaXQpPVwibG9naW5Vc2VyKGZvcm0udmFsdWUpXCI+XHJcbiAgPGRpdj5cclxuICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImZ1bGwtd2lkdGhcIj5cclxuICAgICAgPG1hdC1sYWJlbD57eyAnaWdvLmF1dGgudXNlcicgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cclxuICAgICAgPGlucHV0XHJcbiAgICAgICAgbWF0SW5wdXRcclxuICAgICAgICByZXF1aXJlZFxyXG4gICAgICAgIHBsYWNlaG9sZGVyPVwie3sgJ2lnby5hdXRoLnVzZXInIHwgdHJhbnNsYXRlIH19XCJcclxuICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJ1c2VybmFtZVwiXHJcbiAgICAgIC8+XHJcbiAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gIDwvZGl2PlxyXG5cclxuICA8ZGl2PlxyXG4gICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiZnVsbC13aWR0aFwiPlxyXG4gICAgICA8bWF0LWxhYmVsPnt7ICdpZ28uYXV0aC5wYXNzd29yZCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cclxuICAgICAgPGlucHV0XHJcbiAgICAgICAgbWF0SW5wdXRcclxuICAgICAgICByZXF1aXJlZFxyXG4gICAgICAgIHR5cGU9XCJwYXNzd29yZFwiXHJcbiAgICAgICAgcGxhY2Vob2xkZXI9XCJ7eyAnaWdvLmF1dGgucGFzc3dvcmQnIHwgdHJhbnNsYXRlIH19XCJcclxuICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJwYXNzd29yZFwiXHJcbiAgICAgIC8+XHJcbiAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gIDwvZGl2PlxyXG5cclxuICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIHR5cGU9XCJzdWJtaXRcIj5cclxuICAgIHt7ICdpZ28uYXV0aC5sb2dpbicgfCB0cmFuc2xhdGUgfX1cclxuICA8L2J1dHRvbj5cclxuICA8YnV0dG9uXHJcbiAgICAqbmdJZj1cImFsbG93QW5vbnltb3VzXCJcclxuICAgIG1hdC1yYWlzZWQtYnV0dG9uXHJcbiAgICBjbGFzcz1cImFub255bW91c1wiXHJcbiAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgIChjbGljayk9XCJsb2dpbkFub255bW91cygpXCJcclxuICA+XHJcbiAgICB7eyAnaWdvLmF1dGguYWNjZXNzQW5vbnltb3VzJyB8IHRyYW5zbGF0ZSB9fVxyXG4gIDwvYnV0dG9uPlxyXG4gIDxkaXYgKm5nSWY9XCJlcnJvclwiPlxyXG4gICAgPGJyIC8+XHJcbiAgICA8Zm9udCBzaXplPVwiM1wiIGNvbG9yPVwicmVkXCI+e3sgZXJyb3IgfX08L2ZvbnQ+XHJcbiAgPC9kaXY+XHJcbjwvZm9ybT5cclxuXHJcbjxkaXYgKm5nSWY9XCJsb2FkaW5nXCIgY2xhc3M9XCJsb2FkaW5nLWNvbnRhaW5lclwiPlxyXG4gIDxtYXQtc3Bpbm5lciBbZGlhbWV0ZXJdPVwiNDBcIj48L21hdC1zcGlubmVyPlxyXG48L2Rpdj5cclxuIl19
|
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
import { ApplicationRef, ChangeDetectionStrategy, Component, EventEmitter, Inject, Output } from '@angular/core';
|
|
2
|
-
import { MatButtonModule } from '@angular/material/button';
|
|
3
|
-
import { MatIconModule } from '@angular/material/icon';
|
|
4
|
-
import { ConfigService } from '@igo2/core';
|
|
5
|
-
import { MSAL_GUARD_CONFIG, MsalBroadcastService, MsalService } from '@azure/msal-angular';
|
|
6
|
-
import { InteractionRequiredAuthError, InteractionStatus, PublicClientApplication } from '@azure/msal-browser';
|
|
7
|
-
import { TranslateModule } from '@ngx-translate/core';
|
|
8
|
-
import { Subject } from 'rxjs';
|
|
9
|
-
import { filter, takeUntil } from 'rxjs/operators';
|
|
10
|
-
import { AuthService } from '../shared/auth.service';
|
|
11
|
-
import * as i0 from "@angular/core";
|
|
12
|
-
import * as i1 from "../shared/auth.service";
|
|
13
|
-
import * as i2 from "@igo2/core";
|
|
14
|
-
import * as i3 from "@azure/msal-angular";
|
|
15
|
-
import * as i4 from "@angular/material/button";
|
|
16
|
-
import * as i5 from "@angular/material/icon";
|
|
17
|
-
import * as i6 from "@ngx-translate/core";
|
|
18
|
-
export class AuthMicrosoftComponent {
|
|
19
|
-
authService;
|
|
20
|
-
config;
|
|
21
|
-
appRef;
|
|
22
|
-
msalService;
|
|
23
|
-
msalGuardConfig;
|
|
24
|
-
options;
|
|
25
|
-
_destroying$ = new Subject();
|
|
26
|
-
login = new EventEmitter();
|
|
27
|
-
broadcastService;
|
|
28
|
-
constructor(authService, config, appRef, msalService, msalGuardConfig) {
|
|
29
|
-
this.authService = authService;
|
|
30
|
-
this.config = config;
|
|
31
|
-
this.appRef = appRef;
|
|
32
|
-
this.msalService = msalService;
|
|
33
|
-
this.msalGuardConfig = msalGuardConfig;
|
|
34
|
-
this.options = this.config.getConfig('auth.microsoft');
|
|
35
|
-
this.msalService.instance = new PublicClientApplication({
|
|
36
|
-
auth: this.options,
|
|
37
|
-
cache: {
|
|
38
|
-
cacheLocation: 'sessionStorage'
|
|
39
|
-
}
|
|
40
|
-
});
|
|
41
|
-
this.broadcastService = new MsalBroadcastService(this.msalService.instance, this.msalService);
|
|
42
|
-
if (this.options?.clientId) {
|
|
43
|
-
this.broadcastService.inProgress$
|
|
44
|
-
.pipe(filter((status) => status === InteractionStatus.None), takeUntil(this._destroying$))
|
|
45
|
-
.subscribe(() => {
|
|
46
|
-
this.checkAccount();
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
else {
|
|
50
|
-
console.warn('Microsoft authentification needs "clientId" option');
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
loginMicrosoft() {
|
|
54
|
-
this.msalService
|
|
55
|
-
.loginPopup({ ...this.getConf().authRequest })
|
|
56
|
-
.subscribe((response) => {
|
|
57
|
-
this.msalService.instance.setActiveAccount(response.account);
|
|
58
|
-
this.checkAccount();
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
checkAccount() {
|
|
62
|
-
this.msalService.instance
|
|
63
|
-
.acquireTokenSilent(this.getConf().authRequest)
|
|
64
|
-
.then((response) => {
|
|
65
|
-
const tokenAccess = response.accessToken;
|
|
66
|
-
const tokenId = response.idToken;
|
|
67
|
-
this.authService
|
|
68
|
-
.loginWithToken(tokenAccess, 'microsoft', { tokenId })
|
|
69
|
-
.subscribe(() => {
|
|
70
|
-
this.appRef.tick();
|
|
71
|
-
this.login.emit(true);
|
|
72
|
-
});
|
|
73
|
-
})
|
|
74
|
-
.catch(async (error) => {
|
|
75
|
-
if (error instanceof InteractionRequiredAuthError) {
|
|
76
|
-
// fallback to interaction when silent call fails
|
|
77
|
-
return this.msalService.acquireTokenPopup(this.getConf().authRequest);
|
|
78
|
-
}
|
|
79
|
-
console.log(error);
|
|
80
|
-
})
|
|
81
|
-
.catch((error) => {
|
|
82
|
-
console.log('Silent token fails');
|
|
83
|
-
});
|
|
84
|
-
}
|
|
85
|
-
getConf() {
|
|
86
|
-
return this.msalGuardConfig.filter((conf) => conf.type === 'add')[0];
|
|
87
|
-
}
|
|
88
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: AuthMicrosoftComponent, deps: [{ token: i1.AuthService }, { token: i2.ConfigService }, { token: i0.ApplicationRef }, { token: i3.MsalService }, { token: MSAL_GUARD_CONFIG }], target: i0.ɵɵFactoryTarget.Component });
|
|
89
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.1", type: AuthMicrosoftComponent, isStandalone: true, selector: "igo-auth-microsoft", outputs: { login: "login" }, ngImport: i0, 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"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
90
|
-
}
|
|
91
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: AuthMicrosoftComponent, decorators: [{
|
|
92
|
-
type: Component,
|
|
93
|
-
args: [{ selector: 'igo-auth-microsoft', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [MatButtonModule, MatIconModule, TranslateModule], 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"] }]
|
|
94
|
-
}], ctorParameters: () => [{ type: i1.AuthService }, { type: i2.ConfigService }, { type: i0.ApplicationRef }, { type: i3.MsalService }, { type: undefined, decorators: [{
|
|
95
|
-
type: Inject,
|
|
96
|
-
args: [MSAL_GUARD_CONFIG]
|
|
97
|
-
}] }], propDecorators: { login: [{
|
|
98
|
-
type: Output
|
|
99
|
-
}] } });
|
|
100
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1taWNyb3NvZnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYXV0aC9zcmMvbGliL2F1dGgtZm9ybS9hdXRoLW1pY3Jvc29mdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hdXRoL3NyYy9saWIvYXV0aC1mb3JtL2F1dGgtbWljcm9zb2Z0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxjQUFjLEVBQ2QsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUNOLE1BQU0sRUFDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFM0MsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixvQkFBb0IsRUFDcEIsV0FBVyxFQUNaLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUVMLDRCQUE0QixFQUM1QixpQkFBaUIsRUFFakIsdUJBQXVCLEVBRXhCLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQU1uRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7Ozs7O0FBVXJELE1BQU0sT0FBTyxzQkFBc0I7SUFPdkI7SUFDQTtJQUNBO0lBQ0E7SUFFQTtJQVhGLE9BQU8sQ0FBd0I7SUFDdEIsWUFBWSxHQUFHLElBQUksT0FBTyxFQUFR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SUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLFdBQTRCLENBQzVDLENBQUM7WUFDSixDQUFDO1lBQ0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQixDQUFDLENBQUM7YUFDRCxLQUFLLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNmLE9BQU8sQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUNwQyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxPQUFPO1FBQ2IsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN2RSxDQUFDO3VHQWxGVSxzQkFBc0IsbUlBV3ZCLGlCQUFpQjsyRkFYaEIsc0JBQXNCLDJHQzVDbkMsaU9BUUEsME5Ea0NZLGVBQWUsMk5BQUUsYUFBYSxtTEFBRSxlQUFlOzsyRkFFOUMsc0JBQXNCO2tCQVJsQyxTQUFTOytCQUNFLG9CQUFvQixtQkFHYix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUCxDQUFDLGVBQWUsRUFBRSxhQUFhLEVBQUUsZUFBZSxDQUFDOzswQkFhdkQsTUFBTTsyQkFBQyxpQkFBaUI7eUNBUmpCLEtBQUs7c0JBQWQsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQXBwbGljYXRpb25SZWYsXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbmplY3QsXHJcbiAgT3V0cHV0XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuXHJcbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcclxuXHJcbmltcG9ydCB7XHJcbiAgTVNBTF9HVUFSRF9DT05GSUcsXHJcbiAgTXNhbEJyb2FkY2FzdFNlcnZpY2UsXHJcbiAgTXNhbFNlcnZpY2VcclxufSBmcm9tICdAYXp1cmUvbXNhbC1hbmd1bGFyJztcclxuaW1wb3J0IHtcclxuICBBdXRoZW50aWNhdGlvblJlc3VsdCxcclxuICBJbnRlcmFjdGlvblJlcXVpcmVkQXV0aEVycm9yLFxyXG4gIEludGVyYWN0aW9uU3RhdHVzLFxyXG4gIFBvcHVwUmVxdWVzdCxcclxuICBQdWJsaWNDbGllbnRBcHBsaWNhdGlvbixcclxuICBTaWxlbnRSZXF1ZXN0XHJcbn0gZnJvbSAnQGF6dXJlL21zYWwtYnJvd3Nlcic7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGZpbHRlciwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHtcclxuICBBdXRoTWljcm9zb2Z0T3B0aW9ucyxcclxuICBNU1BNc2FsR3VhcmRDb25maWd1cmF0aW9uXHJcbn0gZnJvbSAnLi4vc2hhcmVkL2F1dGguaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi9zaGFyZWQvYXV0aC5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWdvLWF1dGgtbWljcm9zb2Z0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYXV0aC1taWNyb3NvZnQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2F1dGgtbWljcm9zb2Z0LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbTWF0QnV0dG9uTW9kdWxlLCBNYXRJY29uTW9kdWxlLCBUcmFuc2xhdGVNb2R1bGVdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBdXRoTWljcm9zb2Z0Q29tcG9uZW50IHtcclxuICBwcml2YXRlIG9wdGlvbnM/OiBBdXRoTWljcm9zb2Z0T3B0aW9ucztcclxuICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95aW5nJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgQE91dHB1dCgpIGxvZ2luOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbiAgcHJpdmF0ZSBicm9hZGNhc3RTZXJ2aWNlOiBNc2FsQnJvYWRjYXN0U2VydmljZTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSxcclxuICAgIHByaXZhdGUgY29uZmlnOiBDb25maWdTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBhcHBSZWY6IEFwcGxpY2F0aW9uUmVmLFxyXG4gICAgcHJpdmF0ZSBtc2FsU2VydmljZTogTXNhbFNlcnZpY2UsXHJcbiAgICBASW5qZWN0KE1TQUxfR1VBUkRfQ09ORklHKVxyXG4gICAgcHJpdmF0ZSBtc2FsR3VhcmRDb25maWc6IE1TUE1zYWxHdWFyZENvbmZpZ3VyYXRpb25bXVxyXG4gICkge1xyXG4gICAgdGhpcy5vcHRpb25zID0gdGhpcy5jb25maWcuZ2V0Q29uZmlnKCdhdXRoLm1pY3Jvc29mdCcpO1xyXG5cclxuICAgIHRoaXMubXNhbFNlcnZpY2UuaW5zdGFuY2UgPSBuZXcgUHVibGljQ2xpZW50QXBwbGljYXRpb24oe1xyXG4gICAgICBhdXRoOiB0aGlzLm9wdGlvbnMsXHJcbiAgICAgIGNhY2hlOiB7XHJcbiAgICAgICAgY2FjaGVMb2NhdGlvbjogJ3Nlc3Npb25TdG9yYWdlJ1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLmJyb2FkY2FzdFNlcnZpY2UgPSBuZXcgTXNhbEJyb2FkY2FzdFNlcnZpY2UoXHJcbiAgICAgIHRoaXMubXNhbFNlcnZpY2UuaW5zdGFuY2UsXHJcbiAgICAgIHRoaXMubXNhbFNlcnZpY2VcclxuICAgICk7XHJcblxyXG4gICAgaWYgKHRoaXMub3B0aW9ucz8uY2xpZW50SWQpIHtcclxuICAgICAgdGhpcy5icm9hZGNhc3RTZXJ2aWNlLmluUHJvZ3Jlc3MkXHJcbiAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICBmaWx0ZXIoXHJcbiAgICAgICAgICAgIChzdGF0dXM6IEludGVyYWN0aW9uU3RhdHVzKSA9PiBzdGF0dXMgPT09IEludGVyYWN0aW9uU3RhdHVzLk5vbmVcclxuICAgICAgICAgICksXHJcbiAgICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveWluZyQpXHJcbiAgICAgICAgKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5jaGVja0FjY291bnQoKTtcclxuICAgICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnNvbGUud2FybignTWljcm9zb2Z0IGF1dGhlbnRpZmljYXRpb24gbmVlZHMgXCJjbGllbnRJZFwiIG9wdGlvbicpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGxvZ2luTWljcm9zb2Z0KCkge1xyXG4gICAgdGhpcy5tc2FsU2VydmljZVxyXG4gICAgICAubG9naW5Qb3B1cCh7IC4uLnRoaXMuZ2V0Q29uZigpLmF1dGhSZXF1ZXN0IH0gYXMgUG9wdXBSZXF1ZXN0KVxyXG4gICAgICAuc3Vic2NyaWJlKChyZXNwb25zZTogQXV0aGVudGljYXRpb25SZXN1bHQpID0+IHtcclxuICAgICAgICB0aGlzLm1zYWxTZXJ2aWNlLmluc3RhbmNlLnNldEFjdGl2ZUFjY291bnQocmVzcG9uc2UuYWNjb3VudCk7XHJcbiAgICAgICAgdGhpcy5jaGVja0FjY291bnQoKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNoZWNrQWNjb3VudCgpIHtcclxuICAgIHRoaXMubXNhbFNlcnZpY2UuaW5zdGFuY2VcclxuICAgICAgLmFjcXVpcmVUb2tlblNpbGVudCh0aGlzLmdldENvbmYoKS5hdXRoUmVxdWVzdCBhcyBTaWxlbnRSZXF1ZXN0KVxyXG4gICAgICAudGhlbigocmVzcG9uc2U6IEF1dGhlbnRpY2F0aW9uUmVzdWx0KSA9PiB7XHJcbiAgICAgICAgY29uc3QgdG9rZW5BY2Nlc3MgPSByZXNwb25zZS5hY2Nlc3NUb2tlbjtcclxuICAgICAgICBjb25zdCB0b2tlbklkID0gcmVzcG9uc2UuaWRUb2tlbjtcclxuICAgICAgICB0aGlzLmF1dGhTZXJ2aWNlXHJcbiAgICAgICAgICAubG9naW5XaXRoVG9rZW4odG9rZW5BY2Nlc3MsICdtaWNyb3NvZnQnLCB7IHRva2VuSWQgfSlcclxuICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmFwcFJlZi50aWNrKCk7XHJcbiAgICAgICAgICAgIHRoaXMubG9naW4uZW1pdCh0cnVlKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICB9KVxyXG4gICAgICAuY2F0Y2goYXN5bmMgKGVycm9yKSA9PiB7XHJcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgSW50ZXJhY3Rpb25SZXF1aXJlZEF1dGhFcnJvcikge1xyXG4gICAgICAgICAgLy8gZmFsbGJhY2sgdG8gaW50ZXJhY3Rpb24gd2hlbiBzaWxlbnQgY2FsbCBmYWlsc1xyXG4gICAgICAgICAgcmV0dXJuIHRoaXMubXNhbFNlcnZpY2UuYWNxdWlyZVRva2VuUG9wdXAoXHJcbiAgICAgICAgICAgIHRoaXMuZ2V0Q29uZigpLmF1dGhSZXF1ZXN0IGFzIFNpbGVudFJlcXVlc3RcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnNvbGUubG9nKGVycm9yKTtcclxuICAgICAgfSlcclxuICAgICAgLmNhdGNoKChlcnJvcikgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKCdTaWxlbnQgdG9rZW4gZmFpbHMnKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldENvbmYoKTogTVNQTXNhbEd1YXJkQ29uZmlndXJhdGlvbiB7XHJcbiAgICByZXR1cm4gdGhpcy5tc2FsR3VhcmRDb25maWcuZmlsdGVyKChjb25mKSA9PiBjb25mLnR5cGUgPT09ICdhZGQnKVswXTtcclxuICB9XHJcbn1cclxuIiwiPGJ1dHRvblxyXG4gIGNsYXNzPVwibWljcm9zb2Z0LWxvZ2luLWJ1dHRvblwiXHJcbiAgbWF0LXJhaXNlZC1idXR0b25cclxuICAoY2xpY2spPVwibG9naW5NaWNyb3NvZnQoKVwiXHJcbj5cclxuICA8bWF0LWljb24gc3ZnSWNvbj1cIm1pY3Jvc29mdFwiPjwvbWF0LWljb24+XHJcbiAge3sgJ2lnby5hdXRoLm1pY3Jvc29mdC5sb2dpbicgfCB0cmFuc2xhdGUgfX1cclxuPC9idXR0b24+XHJcbiJdfQ==
|