@igo2/auth 1.15.4 → 16.0.0-rc.0

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