Skip to content

Commit 1dd4765

Browse files
committed
1 parent 8c4880e commit 1dd4765

File tree

4 files changed

+20
-38
lines changed

4 files changed

+20
-38
lines changed

angular-oauth2-oidc/src/oauth-service.ts

+19-14
Original file line numberDiff line numberDiff line change
@@ -123,13 +123,7 @@ export class OAuthService
123123
}
124124

125125
private restartRefreshTimerIfStillLoggedIn(): void {
126-
if (this.hasValidAccessToken()) {
127-
this.setupAccessTokenTimer();
128-
}
129-
130-
if (this.hasValidIdToken()) {
131-
this.setupIdTokenTimer();
132-
}
126+
this.setupExpirationTimers();
133127
}
134128

135129
private setupSessionCheck() {
@@ -218,16 +212,23 @@ export class OAuthService
218212

219213
this.clearAccessTokenTimer();
220214
this.clearIdTokenTimer();
215+
this.setupExpirationTimers();
221216

222-
if (this.hasValidAccessToken()) {
223-
this.setupAccessTokenTimer();
224-
}
217+
});
218+
}
225219

226-
if (this.hasValidIdToken()) {
227-
this.setupIdTokenTimer();
228-
}
220+
private setupExpirationTimers(): void {
221+
let idTokenExp = this.getIdTokenExpiration() || Number.MAX_VALUE;
222+
let accessTokenExp = this.getAccessTokenExpiration() || Number.MAX_VALUE;
223+
let useAccessTokenExp = accessTokenExp <= idTokenExp;
229224

230-
});
225+
if (this.hasValidAccessToken() && useAccessTokenExp ) {
226+
this.setupAccessTokenTimer();
227+
}
228+
229+
if (this.hasValidIdToken() && !useAccessTokenExp ) {
230+
this.setupIdTokenTimer();
231+
}
231232
}
232233

233234
private setupAccessTokenTimer(): void {
@@ -1285,6 +1286,7 @@ export class OAuthService
12851286
* as milliseconds since 1970.
12861287
*/
12871288
public getAccessTokenExpiration(): number {
1289+
if (!this._storage.getItem('expires_at')) return null;
12881290
return parseInt(this._storage.getItem('expires_at'), 10);
12891291
}
12901292

@@ -1302,6 +1304,9 @@ export class OAuthService
13021304
* as milliseconds since 1970.
13031305
*/
13041306
public getIdTokenExpiration(): number {
1307+
1308+
if (!this._storage.getItem('id_token_expires_at')) return null;
1309+
13051310
return parseInt(this._storage.getItem('id_token_expires_at'), 10);
13061311
}
13071312

angular-oauth2-oidc/src/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "angular-oauth2-oidc",
3-
"version": "2.1.2",
3+
"version": "2.1.3",
44
"repository": {
55
"type": "git",
66
"url": "https://github.com/manfredsteyer/angular-oauth2-oidc"

npm-debug.log

-23
This file was deleted.

npm-debug.log.1616803090

Whitespace-only changes.

0 commit comments

Comments
 (0)