@igo2/auth 1.14.1 → 1.14.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/igo2-auth.mjs +4 -4
- package/esm2020/lib/auth-form/auth-facebook.component.mjs +60 -60
- package/esm2020/lib/auth-form/auth-form.component.mjs +276 -276
- package/esm2020/lib/auth-form/auth-google.component.mjs +98 -98
- package/esm2020/lib/auth-form/auth-intern.component.mjs +118 -118
- package/esm2020/lib/auth-form/auth-microsoft.component.mjs +93 -93
- package/esm2020/lib/auth-form/auth-microsoftb2c.component.mjs +92 -92
- package/esm2020/lib/auth-form/index.mjs +4 -4
- package/esm2020/lib/auth-routing.module.mjs +23 -23
- package/esm2020/lib/auth.module.mjs +90 -90
- package/esm2020/lib/shared/admin.guard.mjs +32 -32
- package/esm2020/lib/shared/auth-microsoft.provider.mjs +83 -83
- package/esm2020/lib/shared/auth-msalBroadcastServiceb2c.service.mjs +37 -37
- package/esm2020/lib/shared/auth-msalServiceb2c.service..mjs +79 -79
- package/esm2020/lib/shared/auth.guard.mjs +31 -31
- package/esm2020/lib/shared/auth.interceptor.mjs +154 -154
- package/esm2020/lib/shared/auth.interface.mjs +1 -1
- package/esm2020/lib/shared/auth.service.mjs +159 -159
- package/esm2020/lib/shared/logged.guard.mjs +31 -31
- package/esm2020/lib/shared/profils.guard.mjs +36 -36
- package/esm2020/lib/shared/protected.directive.mjs +18 -18
- package/esm2020/lib/shared/storage.interface.mjs +1 -1
- package/esm2020/lib/shared/storage.service.mjs +90 -90
- package/esm2020/lib/shared/token.service.mjs +46 -46
- package/esm2020/public_api.mjs +18 -18
- package/fesm2015/igo2-auth.mjs +1579 -1579
- package/fesm2020/igo2-auth.mjs +1477 -1477
- package/index.d.ts +5 -5
- package/lib/auth-form/auth-facebook.component.d.ts +18 -18
- package/lib/auth-form/auth-form.component.d.ts +42 -42
- package/lib/auth-form/auth-google.component.d.ts +24 -24
- package/lib/auth-form/auth-intern.component.d.ts +21 -21
- package/lib/auth-form/auth-microsoft.component.d.ts +23 -23
- package/lib/auth-form/auth-microsoftb2c.component.d.ts +23 -23
- package/lib/auth-form/index.d.ts +4 -4
- package/lib/auth-routing.module.d.ts +7 -7
- package/lib/auth.module.d.ts +23 -23
- package/lib/shared/admin.guard.d.ts +13 -13
- package/lib/shared/auth-microsoft.provider.d.ts +30 -30
- package/lib/shared/auth-msalBroadcastServiceb2c.service.d.ts +15 -15
- package/lib/shared/auth-msalServiceb2c.service..d.ts +33 -33
- package/lib/shared/auth.guard.d.ts +13 -13
- package/lib/shared/auth.interceptor.d.ts +24 -24
- package/lib/shared/auth.interface.d.ts +99 -99
- package/lib/shared/auth.service.d.ts +44 -44
- package/lib/shared/logged.guard.d.ts +13 -13
- package/lib/shared/profils.guard.d.ts +13 -13
- package/lib/shared/protected.directive.d.ts +8 -8
- package/lib/shared/storage.interface.d.ts +4 -4
- package/lib/shared/storage.service.d.ts +18 -18
- package/lib/shared/token.service.d.ts +15 -15
- package/package.json +3 -3
- package/public_api.d.ts +15 -15
|
@@ -1,91 +1,91 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { StorageService, StorageScope } from '@igo2/core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@igo2/core";
|
|
5
|
-
import * as i2 from "@angular/common/http";
|
|
6
|
-
import * as i3 from "./auth.service";
|
|
7
|
-
import * as i4 from "./token.service";
|
|
8
|
-
export class AuthStorageService extends StorageService {
|
|
9
|
-
constructor(config, http, authService, tokenService) {
|
|
10
|
-
super(config);
|
|
11
|
-
this.http = http;
|
|
12
|
-
this.authService = authService;
|
|
13
|
-
this.tokenService = tokenService;
|
|
14
|
-
this.authService.authenticate$.subscribe(isAuthenticated => {
|
|
15
|
-
if (isAuthenticated && this.options.url) {
|
|
16
|
-
this.http
|
|
17
|
-
.get(this.options.url)
|
|
18
|
-
.subscribe((userIgo) => {
|
|
19
|
-
if (userIgo && userIgo.preference) {
|
|
20
|
-
for (const key of Object.keys(userIgo.preference)) {
|
|
21
|
-
const value = userIgo.preference[key];
|
|
22
|
-
super.set(key, value);
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
set(key, value, scope = StorageScope.LOCAL) {
|
|
30
|
-
if (scope === StorageScope.LOCAL &&
|
|
31
|
-
this.authService.authenticated &&
|
|
32
|
-
this.options.url) {
|
|
33
|
-
const preference = {};
|
|
34
|
-
preference[key] = value;
|
|
35
|
-
this.http.patch(this.options.url, { preference }).subscribe();
|
|
36
|
-
}
|
|
37
|
-
super.set(key, value, scope);
|
|
38
|
-
}
|
|
39
|
-
remove(key, scope = StorageScope.LOCAL) {
|
|
40
|
-
if (scope === StorageScope.LOCAL &&
|
|
41
|
-
this.authService.authenticated &&
|
|
42
|
-
this.options.url) {
|
|
43
|
-
const preference = {};
|
|
44
|
-
preference[key] = undefined;
|
|
45
|
-
this.http.patch(this.options.url, { preference }).subscribe();
|
|
46
|
-
}
|
|
47
|
-
super.remove(key, scope);
|
|
48
|
-
}
|
|
49
|
-
clear(scope = StorageScope.LOCAL) {
|
|
50
|
-
if (scope === StorageScope.LOCAL &&
|
|
51
|
-
this.authService.authenticated &&
|
|
52
|
-
this.options.url) {
|
|
53
|
-
this.http.patch(this.options.url, { preference: {} }, {
|
|
54
|
-
params: {
|
|
55
|
-
mergePreference: 'false'
|
|
56
|
-
}
|
|
57
|
-
}).subscribe();
|
|
58
|
-
}
|
|
59
|
-
let token;
|
|
60
|
-
if (scope === StorageScope.LOCAL) {
|
|
61
|
-
token = this.tokenService.get();
|
|
62
|
-
}
|
|
63
|
-
super.clear(scope);
|
|
64
|
-
if (token) {
|
|
65
|
-
this.tokenService.set(token);
|
|
66
|
-
}
|
|
67
|
-
if (scope === StorageScope.LOCAL &&
|
|
68
|
-
this.authService.authenticated &&
|
|
69
|
-
this.options.url) {
|
|
70
|
-
this.http
|
|
71
|
-
.get(this.options.url)
|
|
72
|
-
.subscribe((userIgo) => {
|
|
73
|
-
if (userIgo && userIgo.preference) {
|
|
74
|
-
for (const key of Object.keys(userIgo.preference)) {
|
|
75
|
-
const value = userIgo.preference[key];
|
|
76
|
-
super.set(key, value);
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
});
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
AuthStorageService.ɵfac = function AuthStorageService_Factory(t) { return new (t || AuthStorageService)(i0.ɵɵinject(i1.ConfigService), i0.ɵɵinject(i2.HttpClient), i0.ɵɵinject(i3.AuthService), i0.ɵɵinject(i4.TokenService)); };
|
|
84
|
-
AuthStorageService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: AuthStorageService, factory: AuthStorageService.ɵfac, providedIn: 'root' });
|
|
85
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AuthStorageService, [{
|
|
86
|
-
type: Injectable,
|
|
87
|
-
args: [{
|
|
88
|
-
providedIn: 'root'
|
|
89
|
-
}]
|
|
90
|
-
}], function () { return [{ type: i1.ConfigService }, { type: i2.HttpClient }, { type: i3.AuthService }, { type: i4.TokenService }]; }, null); })();
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { StorageService, StorageScope } from '@igo2/core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@igo2/core";
|
|
5
|
+
import * as i2 from "@angular/common/http";
|
|
6
|
+
import * as i3 from "./auth.service";
|
|
7
|
+
import * as i4 from "./token.service";
|
|
8
|
+
export class AuthStorageService extends StorageService {
|
|
9
|
+
constructor(config, http, authService, tokenService) {
|
|
10
|
+
super(config);
|
|
11
|
+
this.http = http;
|
|
12
|
+
this.authService = authService;
|
|
13
|
+
this.tokenService = tokenService;
|
|
14
|
+
this.authService.authenticate$.subscribe(isAuthenticated => {
|
|
15
|
+
if (isAuthenticated && this.options.url) {
|
|
16
|
+
this.http
|
|
17
|
+
.get(this.options.url)
|
|
18
|
+
.subscribe((userIgo) => {
|
|
19
|
+
if (userIgo && userIgo.preference) {
|
|
20
|
+
for (const key of Object.keys(userIgo.preference)) {
|
|
21
|
+
const value = userIgo.preference[key];
|
|
22
|
+
super.set(key, value);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
set(key, value, scope = StorageScope.LOCAL) {
|
|
30
|
+
if (scope === StorageScope.LOCAL &&
|
|
31
|
+
this.authService.authenticated &&
|
|
32
|
+
this.options.url) {
|
|
33
|
+
const preference = {};
|
|
34
|
+
preference[key] = value;
|
|
35
|
+
this.http.patch(this.options.url, { preference }).subscribe();
|
|
36
|
+
}
|
|
37
|
+
super.set(key, value, scope);
|
|
38
|
+
}
|
|
39
|
+
remove(key, scope = StorageScope.LOCAL) {
|
|
40
|
+
if (scope === StorageScope.LOCAL &&
|
|
41
|
+
this.authService.authenticated &&
|
|
42
|
+
this.options.url) {
|
|
43
|
+
const preference = {};
|
|
44
|
+
preference[key] = undefined;
|
|
45
|
+
this.http.patch(this.options.url, { preference }).subscribe();
|
|
46
|
+
}
|
|
47
|
+
super.remove(key, scope);
|
|
48
|
+
}
|
|
49
|
+
clear(scope = StorageScope.LOCAL) {
|
|
50
|
+
if (scope === StorageScope.LOCAL &&
|
|
51
|
+
this.authService.authenticated &&
|
|
52
|
+
this.options.url) {
|
|
53
|
+
this.http.patch(this.options.url, { preference: {} }, {
|
|
54
|
+
params: {
|
|
55
|
+
mergePreference: 'false'
|
|
56
|
+
}
|
|
57
|
+
}).subscribe();
|
|
58
|
+
}
|
|
59
|
+
let token;
|
|
60
|
+
if (scope === StorageScope.LOCAL) {
|
|
61
|
+
token = this.tokenService.get();
|
|
62
|
+
}
|
|
63
|
+
super.clear(scope);
|
|
64
|
+
if (token) {
|
|
65
|
+
this.tokenService.set(token);
|
|
66
|
+
}
|
|
67
|
+
if (scope === StorageScope.LOCAL &&
|
|
68
|
+
this.authService.authenticated &&
|
|
69
|
+
this.options.url) {
|
|
70
|
+
this.http
|
|
71
|
+
.get(this.options.url)
|
|
72
|
+
.subscribe((userIgo) => {
|
|
73
|
+
if (userIgo && userIgo.preference) {
|
|
74
|
+
for (const key of Object.keys(userIgo.preference)) {
|
|
75
|
+
const value = userIgo.preference[key];
|
|
76
|
+
super.set(key, value);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
AuthStorageService.ɵfac = function AuthStorageService_Factory(t) { return new (t || AuthStorageService)(i0.ɵɵinject(i1.ConfigService), i0.ɵɵinject(i2.HttpClient), i0.ɵɵinject(i3.AuthService), i0.ɵɵinject(i4.TokenService)); };
|
|
84
|
+
AuthStorageService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: AuthStorageService, factory: AuthStorageService.ɵfac, providedIn: 'root' });
|
|
85
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AuthStorageService, [{
|
|
86
|
+
type: Injectable,
|
|
87
|
+
args: [{
|
|
88
|
+
providedIn: 'root'
|
|
89
|
+
}]
|
|
90
|
+
}], function () { return [{ type: i1.ConfigService }, { type: i2.HttpClient }, { type: i3.AuthService }, { type: i4.TokenService }]; }, null); })();
|
|
91
91
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYXV0aC9zcmMvbGliL3NoYXJlZC9zdG9yYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBaUIsTUFBTSxZQUFZLENBQUM7Ozs7OztBQVF6RSxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsY0FBYztJQUdwRCxZQUNFLE1BQXFCLEVBQ2IsSUFBZ0IsRUFDaEIsV0FBd0IsRUFDeEIsWUFBMEI7UUFFbEMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBSk4sU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUlsQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLEVBQUU7WUFDekQsSUFBSSxlQUFlLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUU7Z0JBQ3ZDLElBQUksQ0FBQyxJQUFJO3FCQUNOLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQztxQkFDckIsU0FBUyxDQUFDLENBQUMsT0FBK0IsRUFBRSxFQUFFO29CQUM3QyxJQUFJLE9BQU8sSUFBSSxPQUFPLENBQUMsVUFBVSxFQUFFO3dCQUNqQyxLQUFLLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxFQUFFOzRCQUNqRCxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDOzRCQUN0QyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQzt5QkFDdkI7cUJB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QUN0QyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztxQkFDdkI7aUJBQ0Y7WUFDSCxDQUFDLENBQUMsQ0FBQztTQUNOO0lBQ0gsQ0FBQzs7b0ZBakdVLGtCQUFrQjt3RUFBbEIsa0JBQWtCLFdBQWxCLGtCQUFrQixtQkFGakIsTUFBTTt1RkFFUCxrQkFBa0I7Y0FIOUIsVUFBVTtlQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcblxuaW1wb3J0IHsgU3RvcmFnZVNlcnZpY2UsIFN0b3JhZ2VTY29wZSwgQ29uZmlnU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuL2F1dGguc2VydmljZSc7XG5pbXBvcnQgeyBUb2tlblNlcnZpY2UgfSBmcm9tICcuL3Rva2VuLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXV0aFN0b3JhZ2VPcHRpb25zIH0gZnJvbSAnLi9zdG9yYWdlLmludGVyZmFjZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEF1dGhTdG9yYWdlU2VydmljZSBleHRlbmRzIFN0b3JhZ2VTZXJ2aWNlIHtcbiAgcHJvdGVjdGVkIG9wdGlvbnM6IEF1dGhTdG9yYWdlT3B0aW9ucztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBjb25maWc6IENvbmZpZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxuICAgIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLFxuICAgIHByaXZhdGUgdG9rZW5TZXJ2aWNlOiBUb2tlblNlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIoY29uZmlnKTtcblxuICAgIHRoaXMuYXV0aFNlcnZpY2UuYXV0aGVudGljYXRlJC5zdWJzY3JpYmUoaXNBdXRoZW50aWNhdGVkID0+IHtcbiAgICAgIGlmIChpc0F1dGhlbnRpY2F0ZWQgJiYgdGhpcy5vcHRpb25zLnVybCkge1xuICAgICAgICB0aGlzLmh0dHBcbiAgICAgICAgICAuZ2V0KHRoaXMub3B0aW9ucy51cmwpXG4gICAgICAgICAgLnN1YnNjcmliZSgodXNlcklnbzogeyBwcmVmZXJlbmNlOiBvYmplY3QgfSkgPT4ge1xuICAgICAgICAgICAgaWYgKHVzZXJJZ28gJiYgdXNlcklnby5wcmVmZXJlbmNlKSB7XG4gICAgICAgICAgICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKHVzZXJJZ28ucHJlZmVyZW5jZSkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB2YWx1ZSA9IHVzZXJJZ28ucHJlZmVyZW5jZVtrZXldO1xuICAgICAgICAgICAgICAgIHN1cGVyLnNldChrZXksIHZhbHVlKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgc2V0KFxuICAgIGtleTogc3RyaW5nLFxuICAgIHZhbHVlOiBzdHJpbmcgfCBvYmplY3QgfCBib29sZWFuIHwgbnVtYmVyLFxuICAgIHNjb3BlOiBTdG9yYWdlU2NvcGUgPSBTdG9yYWdlU2NvcGUuTE9DQUxcbiAgKSB7XG4gICAgaWYgKFxuICAgICAgc2NvcGUgPT09IFN0b3JhZ2VTY29wZS5MT0NBTCAmJlxuICAgICAgdGhpcy5hdXRoU2VydmljZS5hdXRoZW50aWNhdGVkICYmXG4gICAgICB0aGlzLm9wdGlvbnMudXJsXG4gICAgKSB7XG4gICAgICBjb25zdCBwcmVmZXJlbmNlID0ge307XG4gICAgICBwcmVmZXJlbmNlW2tleV0gPSB2YWx1ZTtcbiAgICAgIHRoaXMuaHR0cC5wYXRjaCh0aGlzLm9wdGlvbnMudXJsLCB7IHByZWZlcmVuY2UgfSkuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIHN1cGVyLnNldChrZXksIHZhbHVlLCBzY29wZSk7XG4gIH1cblxuICByZW1vdmUoa2V5OiBzdHJpbmcsIHNjb3BlOiBTdG9yYWdlU2NvcGUgPSBTdG9yYWdlU2NvcGUuTE9DQUwpIHtcbiAgICBpZiAoXG4gICAgICBzY29wZSA9PT0gU3RvcmFnZVNjb3BlLkxPQ0FMICYmXG4gICAgICB0aGlzLmF1dGhTZXJ2aWNlLmF1dGhlbnRpY2F0ZWQgJiZcbiAgICAgIHRoaXMub3B0aW9ucy51cmxcbiAgICApIHtcbiAgICAgIGNvbnN0IHByZWZlcmVuY2UgPSB7fTtcbiAgICAgIHByZWZlcmVuY2Vba2V5XSA9IHVuZGVmaW5lZDtcbiAgICAgIHRoaXMuaHR0cC5wYXRjaCh0aGlzLm9wdGlvbnMudXJsLCB7IHByZWZlcmVuY2UgfSkuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIHN1cGVyLnJlbW92ZShrZXksIHNjb3BlKTtcbiAgfVxuXG4gIGNsZWFyKHNjb3BlOiBTdG9yYWdlU2NvcGUgPSBTdG9yYWdlU2NvcGUuTE9DQUwpIHtcbiAgICBpZiAoXG4gICAgICBzY29wZSA9PT0gU3RvcmFnZVNjb3BlLkxPQ0FMICYmXG4gICAgICB0aGlzLmF1dGhTZXJ2aWNlLmF1dGhlbnRpY2F0ZWQgJiZcbiAgICAgIHRoaXMub3B0aW9ucy51cmxcbiAgICApIHtcbiAgICAgIHRoaXMuaHR0cC5wYXRjaCh0aGlzLm9wdGlvbnMudXJsLCB7IHByZWZlcmVuY2U6IHt9fSwge1xuICAgICAgICBwYXJhbXM6IHtcbiAgICAgICAgICBtZXJnZVByZWZlcmVuY2U6ICdmYWxzZSdcbiAgICAgICAgfVxuICAgICAgfSkuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgbGV0IHRva2VuOiBzdHJpbmc7XG4gICAgaWYgKHNjb3BlID09PSBTdG9yYWdlU2NvcGUuTE9DQUwpIHtcbiAgICAgIHRva2VuID0gdGhpcy50b2tlblNlcnZpY2UuZ2V0KCk7XG4gICAgfVxuXG4gICAgc3VwZXIuY2xlYXIoc2NvcGUpO1xuXG4gICAgaWYgKHRva2VuKSB7XG4gICAgICB0aGlzLnRva2VuU2VydmljZS5zZXQodG9rZW4pO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIHNjb3BlID09PSBTdG9yYWdlU2NvcGUuTE9DQUwgJiZcbiAgICAgIHRoaXMuYXV0aFNlcnZpY2UuYXV0aGVudGljYXRlZCAmJlxuICAgICAgdGhpcy5vcHRpb25zLnVybFxuICAgICkge1xuICAgICAgdGhpcy5odHRwXG4gICAgICAgIC5nZXQodGhpcy5vcHRpb25zLnVybClcbiAgICAgICAgLnN1YnNjcmliZSgodXNlcklnbzogeyBwcmVmZXJlbmNlOiBvYmplY3QgfSkgPT4ge1xuICAgICAgICAgIGlmICh1c2VySWdvICYmIHVzZXJJZ28ucHJlZmVyZW5jZSkge1xuICAgICAgICAgICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXModXNlcklnby5wcmVmZXJlbmNlKSkge1xuICAgICAgICAgICAgICBjb25zdCB2YWx1ZSA9IHVzZXJJZ28ucHJlZmVyZW5jZVtrZXldO1xuICAgICAgICAgICAgICBzdXBlci5zZXQoa2V5LCB2YWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,47 +1,47 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import jwtDecode from 'jwt-decode';
|
|
3
|
-
import { ConfigService } from '@igo2/core';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class TokenService {
|
|
6
|
-
constructor(injector) {
|
|
7
|
-
this.injector = injector;
|
|
8
|
-
}
|
|
9
|
-
set(token) {
|
|
10
|
-
localStorage.setItem(this.tokenKey, token);
|
|
11
|
-
}
|
|
12
|
-
remove() {
|
|
13
|
-
localStorage.removeItem(this.tokenKey);
|
|
14
|
-
}
|
|
15
|
-
get() {
|
|
16
|
-
return localStorage.getItem(this.tokenKey);
|
|
17
|
-
}
|
|
18
|
-
decode() {
|
|
19
|
-
const token = this.get();
|
|
20
|
-
if (!token) {
|
|
21
|
-
return;
|
|
22
|
-
}
|
|
23
|
-
return jwtDecode(token);
|
|
24
|
-
}
|
|
25
|
-
isExpired() {
|
|
26
|
-
const jwt = this.decode();
|
|
27
|
-
const currentTime = new Date().getTime() / 1000;
|
|
28
|
-
if (jwt && currentTime < jwt.exp) {
|
|
29
|
-
return false;
|
|
30
|
-
}
|
|
31
|
-
return true;
|
|
32
|
-
}
|
|
33
|
-
get tokenKey() {
|
|
34
|
-
const config = this.injector.get(ConfigService);
|
|
35
|
-
this.options = config.getConfig('auth') || {};
|
|
36
|
-
return this.options.tokenKey;
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
TokenService.ɵfac = function TokenService_Factory(t) { return new (t || TokenService)(i0.ɵɵinject(i0.Injector)); };
|
|
40
|
-
TokenService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: TokenService, factory: TokenService.ɵfac, providedIn: 'root' });
|
|
41
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TokenService, [{
|
|
42
|
-
type: Injectable,
|
|
43
|
-
args: [{
|
|
44
|
-
providedIn: 'root'
|
|
45
|
-
}]
|
|
46
|
-
}], function () { return [{ type: i0.Injector }]; }, null); })();
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import jwtDecode from 'jwt-decode';
|
|
3
|
+
import { ConfigService } from '@igo2/core';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class TokenService {
|
|
6
|
+
constructor(injector) {
|
|
7
|
+
this.injector = injector;
|
|
8
|
+
}
|
|
9
|
+
set(token) {
|
|
10
|
+
localStorage.setItem(this.tokenKey, token);
|
|
11
|
+
}
|
|
12
|
+
remove() {
|
|
13
|
+
localStorage.removeItem(this.tokenKey);
|
|
14
|
+
}
|
|
15
|
+
get() {
|
|
16
|
+
return localStorage.getItem(this.tokenKey);
|
|
17
|
+
}
|
|
18
|
+
decode() {
|
|
19
|
+
const token = this.get();
|
|
20
|
+
if (!token) {
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
return jwtDecode(token);
|
|
24
|
+
}
|
|
25
|
+
isExpired() {
|
|
26
|
+
const jwt = this.decode();
|
|
27
|
+
const currentTime = new Date().getTime() / 1000;
|
|
28
|
+
if (jwt && currentTime < jwt.exp) {
|
|
29
|
+
return false;
|
|
30
|
+
}
|
|
31
|
+
return true;
|
|
32
|
+
}
|
|
33
|
+
get tokenKey() {
|
|
34
|
+
const config = this.injector.get(ConfigService);
|
|
35
|
+
this.options = config.getConfig('auth') || {};
|
|
36
|
+
return this.options.tokenKey;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
TokenService.ɵfac = function TokenService_Factory(t) { return new (t || TokenService)(i0.ɵɵinject(i0.Injector)); };
|
|
40
|
+
TokenService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: TokenService, factory: TokenService.ɵfac, providedIn: 'root' });
|
|
41
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TokenService, [{
|
|
42
|
+
type: Injectable,
|
|
43
|
+
args: [{
|
|
44
|
+
providedIn: 'root'
|
|
45
|
+
}]
|
|
46
|
+
}], function () { return [{ type: i0.Injector }]; }, null); })();
|
|
47
47
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2F1dGgvc3JjL2xpYi9zaGFyZWQvdG9rZW4uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sU0FBUyxNQUFNLFlBQVksQ0FBQztBQUVuQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFDOztBQU0zQyxNQUFNLE9BQU8sWUFBWTtJQUd2QixZQUFvQixRQUFrQjtRQUFsQixhQUFRLEdBQVIsUUFBUSxDQUFVO0lBQUcsQ0FBQztJQUUxQyxHQUFHLENBQUMsS0FBYTtRQUNmLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsTUFBTTtRQUNKLFlBQVksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxHQUFHO1FBQ0QsT0FBTyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsTUFBTTtRQUNKLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1YsT0FBTztTQUNSO1FBQ0QsT0FBTyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELFNBQVM7UUFDUCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDMUIsTUFBTSxXQUFXLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFDaEQsSUFBSSxHQUFHLElBQUksV0FBVyxHQUFHLEdBQUcsQ0FBQyxHQUFHLEVBQUU7WUFDaEMsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELElBQVksUUFBUTtRQUNsQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBZ0IsYUFBYSxDQUFDLENBQUM7UUFDL0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM5QyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDO0lBQy9CLENBQUM7O3dFQXRDVSxZQUFZO2tFQUFaLFlBQVksV0FBWixZQUFZLG1CQUZYLE1BQU07dUZBRVAsWUFBWTtjQUh4QixVQUFVO2VBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IGp3dERlY29kZSBmcm9tICdqd3QtZGVjb2RlJztcblxuaW1wb3J0IHsgQ29uZmlnU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xuaW1wb3J0IHsgQXV0aE9wdGlvbnMgfSBmcm9tICcuL2F1dGguaW50ZXJmYWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgVG9rZW5TZXJ2aWNlIHtcbiAgcHJpdmF0ZSBvcHRpb25zOiBBdXRoT3B0aW9ucztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGluamVjdG9yOiBJbmplY3Rvcikge31cblxuICBzZXQodG9rZW46IHN0cmluZykge1xuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKHRoaXMudG9rZW5LZXksIHRva2VuKTtcbiAgfVxuXG4gIHJlbW92ZSgpIHtcbiAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSh0aGlzLnRva2VuS2V5KTtcbiAgfVxuXG4gIGdldCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLnRva2VuS2V5KTtcbiAgfVxuXG4gIGRlY29kZSgpIHtcbiAgICBjb25zdCB0b2tlbiA9IHRoaXMuZ2V0KCk7XG4gICAgaWYgKCF0b2tlbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICByZXR1cm4gand0RGVjb2RlKHRva2VuKTtcbiAgfVxuXG4gIGlzRXhwaXJlZCgpIHtcbiAgICBjb25zdCBqd3QgPSB0aGlzLmRlY29kZSgpO1xuICAgIGNvbnN0IGN1cnJlbnRUaW1lID0gbmV3IERhdGUoKS5nZXRUaW1lKCkgLyAxMDAwO1xuICAgIGlmIChqd3QgJiYgY3VycmVudFRpbWUgPCBqd3QuZXhwKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgdG9rZW5LZXkoKSB7XG4gICAgY29uc3QgY29uZmlnID0gdGhpcy5pbmplY3Rvci5nZXQ8Q29uZmlnU2VydmljZT4oQ29uZmlnU2VydmljZSk7XG4gICAgdGhpcy5vcHRpb25zID0gY29uZmlnLmdldENvbmZpZygnYXV0aCcpIHx8IHt9O1xuICAgIHJldHVybiB0aGlzLm9wdGlvbnMudG9rZW5LZXk7XG4gIH1cbn1cbiJdfQ==
|
package/esm2020/public_api.mjs
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Public API Surface of auth
|
|
3
|
-
*/
|
|
4
|
-
export { AuthFormComponent } from './lib/auth-form';
|
|
5
|
-
export * from './lib/shared/auth.service';
|
|
6
|
-
export * from './lib/shared/logged.guard';
|
|
7
|
-
export * from './lib/shared/auth.guard';
|
|
8
|
-
export * from './lib/shared/admin.guard';
|
|
9
|
-
export * from './lib/shared/profils.guard';
|
|
10
|
-
export * from './lib/shared/auth.interceptor';
|
|
11
|
-
export * from './lib/shared/auth.interface';
|
|
12
|
-
export * from './lib/shared/auth-microsoft.provider';
|
|
13
|
-
export * from './lib/shared/protected.directive';
|
|
14
|
-
export * from './lib/shared/token.service';
|
|
15
|
-
export * from './lib/shared/storage.interface';
|
|
16
|
-
export * from './lib/shared/storage.service';
|
|
17
|
-
export * from './lib/auth-routing.module';
|
|
18
|
-
export * from './lib/auth.module';
|
|
1
|
+
/*
|
|
2
|
+
* Public API Surface of auth
|
|
3
|
+
*/
|
|
4
|
+
export { AuthFormComponent } from './lib/auth-form';
|
|
5
|
+
export * from './lib/shared/auth.service';
|
|
6
|
+
export * from './lib/shared/logged.guard';
|
|
7
|
+
export * from './lib/shared/auth.guard';
|
|
8
|
+
export * from './lib/shared/admin.guard';
|
|
9
|
+
export * from './lib/shared/profils.guard';
|
|
10
|
+
export * from './lib/shared/auth.interceptor';
|
|
11
|
+
export * from './lib/shared/auth.interface';
|
|
12
|
+
export * from './lib/shared/auth-microsoft.provider';
|
|
13
|
+
export * from './lib/shared/protected.directive';
|
|
14
|
+
export * from './lib/shared/token.service';
|
|
15
|
+
export * from './lib/shared/storage.interface';
|
|
16
|
+
export * from './lib/shared/storage.service';
|
|
17
|
+
export * from './lib/auth-routing.module';
|
|
18
|
+
export * from './lib/auth.module';
|
|
19
19
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL2F1dGgvc3JjL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRCxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIGF1dGhcbiAqL1xuXG5leHBvcnQgeyBBdXRoRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vbGliL2F1dGgtZm9ybSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zaGFyZWQvYXV0aC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NoYXJlZC9sb2dnZWQuZ3VhcmQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2hhcmVkL2F1dGguZ3VhcmQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2hhcmVkL2FkbWluLmd1YXJkJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NoYXJlZC9wcm9maWxzLmd1YXJkJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NoYXJlZC9hdXRoLmludGVyY2VwdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NoYXJlZC9hdXRoLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zaGFyZWQvYXV0aC1taWNyb3NvZnQucHJvdmlkZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2hhcmVkL3Byb3RlY3RlZC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2hhcmVkL3Rva2VuLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2hhcmVkL3N0b3JhZ2UuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NoYXJlZC9zdG9yYWdlLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYXV0aC1yb3V0aW5nLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9hdXRoLm1vZHVsZSc7XG4iXX0=
|