@tstdl/base 0.82.52 → 0.82.54
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.
|
@@ -16,10 +16,12 @@ export declare class AuthenticationService<AdditionalTokenPayload = Record<never
|
|
|
16
16
|
private readonly tokenSubject;
|
|
17
17
|
private readonly tokenUpdateBus;
|
|
18
18
|
private readonly loggedOutBus;
|
|
19
|
+
private readonly forceRefreshToken;
|
|
19
20
|
private readonly refreshLock;
|
|
20
21
|
private readonly logger;
|
|
21
22
|
private readonly disposeToken;
|
|
22
|
-
private authenticationData;
|
|
23
|
+
private set authenticationData(value);
|
|
24
|
+
private get authenticationData();
|
|
23
25
|
readonly error$: Observable<Error>;
|
|
24
26
|
readonly token$: Observable<TokenPayload<AdditionalTokenPayload> | undefined>;
|
|
25
27
|
readonly definedToken$: Observable<TokenPayload<AdditionalTokenPayload>>;
|
|
@@ -46,6 +48,7 @@ export declare class AuthenticationService<AdditionalTokenPayload = Record<never
|
|
|
46
48
|
setAdditionalData(data: AuthenticationData): void;
|
|
47
49
|
login(subject: string, secret: string, data?: AuthenticationData): Promise<void>;
|
|
48
50
|
logout(): Promise<void>;
|
|
51
|
+
requestRefresh(data?: AuthenticationData): void;
|
|
49
52
|
refresh(data?: AuthenticationData): Promise<void>;
|
|
50
53
|
initResetSecret(subject: string): Promise<void>;
|
|
51
54
|
resetSecret(token: string, newSecret: string): Promise<void>;
|
|
@@ -27,6 +27,7 @@ const type_guards_js_1 = require("../../utils/type-guards.js");
|
|
|
27
27
|
const rxjs_1 = require("rxjs");
|
|
28
28
|
const tokens_js_1 = require("./tokens.js");
|
|
29
29
|
const tokenStorageKey = 'AuthenticationService:token';
|
|
30
|
+
const authenticationDataStorageKey = 'AuthenticationService:authentication-data';
|
|
30
31
|
const tokenUpdateBusName = 'AuthenticationService:tokenUpdate';
|
|
31
32
|
const loggedOutBusName = 'AuthenticationService:loggedOut';
|
|
32
33
|
const refreshLockResource = 'AuthenticationService:refresh';
|
|
@@ -36,10 +37,28 @@ let AuthenticationService = class AuthenticationService {
|
|
|
36
37
|
tokenSubject;
|
|
37
38
|
tokenUpdateBus;
|
|
38
39
|
loggedOutBus;
|
|
40
|
+
forceRefreshToken;
|
|
39
41
|
refreshLock;
|
|
40
42
|
logger;
|
|
41
43
|
disposeToken;
|
|
42
|
-
authenticationData
|
|
44
|
+
set authenticationData(data) {
|
|
45
|
+
if ((0, type_guards_js_1.isUndefined)(data)) {
|
|
46
|
+
localStorage.removeItem(authenticationDataStorageKey);
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
const json = JSON.stringify(data);
|
|
50
|
+
localStorage.setItem(authenticationDataStorageKey, json);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
get authenticationData() {
|
|
54
|
+
try {
|
|
55
|
+
const data = localStorage.getItem(authenticationDataStorageKey);
|
|
56
|
+
return (0, type_guards_js_1.isNull)(data) ? undefined : JSON.parse(data);
|
|
57
|
+
}
|
|
58
|
+
catch {
|
|
59
|
+
return undefined;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
43
62
|
error$;
|
|
44
63
|
token$;
|
|
45
64
|
definedToken$;
|
|
@@ -79,11 +98,14 @@ let AuthenticationService = class AuthenticationService {
|
|
|
79
98
|
this.tokenUpdateBus = tokenUpdateBus;
|
|
80
99
|
this.loggedOutBus = loggedOutBus;
|
|
81
100
|
this.refreshLock = refreshLock;
|
|
82
|
-
this.authenticationData = initialAuthenticationData;
|
|
83
101
|
this.logger = logger;
|
|
102
|
+
if ((0, type_guards_js_1.isUndefined)(this.authenticationData)) {
|
|
103
|
+
this.authenticationData = initialAuthenticationData;
|
|
104
|
+
}
|
|
84
105
|
this.disposeToken = new cancellation_token_js_1.CancellationToken();
|
|
85
106
|
this.errorSubject = new rxjs_1.Subject();
|
|
86
107
|
this.tokenSubject = new rxjs_1.BehaviorSubject(undefined);
|
|
108
|
+
this.forceRefreshToken = new cancellation_token_js_1.CancellationToken();
|
|
87
109
|
this.error$ = this.errorSubject.asObservable();
|
|
88
110
|
this.token$ = this.tokenSubject.asObservable();
|
|
89
111
|
this.definedToken$ = this.token$.pipe((0, rxjs_1.filter)(type_guards_js_1.isDefined));
|
|
@@ -135,6 +157,12 @@ let AuthenticationService = class AuthenticationService {
|
|
|
135
157
|
this.loggedOutBus.publishAndForget();
|
|
136
158
|
}
|
|
137
159
|
}
|
|
160
|
+
requestRefresh(data) {
|
|
161
|
+
if ((0, type_guards_js_1.isDefined)(data)) {
|
|
162
|
+
this.setAdditionalData(data);
|
|
163
|
+
}
|
|
164
|
+
this.forceRefreshToken.set();
|
|
165
|
+
}
|
|
138
166
|
async refresh(data) {
|
|
139
167
|
if ((0, type_guards_js_1.isDefined)(data)) {
|
|
140
168
|
this.setAdditionalData(data);
|
|
@@ -193,10 +221,10 @@ let AuthenticationService = class AuthenticationService {
|
|
|
193
221
|
else {
|
|
194
222
|
await this.refreshLoopIteration();
|
|
195
223
|
}
|
|
196
|
-
await (0,
|
|
224
|
+
await (0, rxjs_1.firstValueFrom)((0, rxjs_1.race)([(0, rxjs_1.timer)(2500), this.disposeToken, this.forceRefreshToken]));
|
|
197
225
|
}
|
|
198
226
|
catch {
|
|
199
|
-
await (0,
|
|
227
|
+
await (0, rxjs_1.firstValueFrom)((0, rxjs_1.race)([(0, rxjs_1.timer)(5000), this.disposeToken, this.forceRefreshToken]));
|
|
200
228
|
}
|
|
201
229
|
}
|
|
202
230
|
}
|
|
@@ -205,7 +233,8 @@ let AuthenticationService = class AuthenticationService {
|
|
|
205
233
|
if ((0, type_guards_js_1.isUndefined)(token)) {
|
|
206
234
|
return;
|
|
207
235
|
}
|
|
208
|
-
if ((0, date_time_js_1.currentTimestampSeconds)() >= (token.exp - 60)) {
|
|
236
|
+
if (this.forceRefreshToken.isSet || ((0, date_time_js_1.currentTimestampSeconds)() >= (token.exp - 60))) {
|
|
237
|
+
this.forceRefreshToken.unset();
|
|
209
238
|
await this.refresh();
|
|
210
239
|
}
|
|
211
240
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authentication.service.js","sourceRoot":"","sources":["../../../source/authentication/client/authentication.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAEA,uDAA6F;AAC7F,2CAAqC;AAErC,wDAAqD;AACrD,+EAAmE;AACnE,kDAAuC;AAEvC,oDAA2C;AAE3C,yDAAoD;AAEpD,6EAAkE;AAClE,2DAA+D;AAC/D,
|
|
1
|
+
{"version":3,"file":"authentication.service.js","sourceRoot":"","sources":["../../../source/authentication/client/authentication.service.ts"],"names":[],"mappings":"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"}
|