Skip to content

Commit 7f6073e

Browse files
authored
fixed token refresh flow (#156)
1 parent 06ab45e commit 7f6073e

File tree

2 files changed

+17
-13
lines changed

2 files changed

+17
-13
lines changed

src/app/authentication/_interceptor/token.interceptor.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,11 @@ export class TokenInterceptor implements HttpInterceptor {
2424
}
2525

2626
private addToken(request: HttpRequest<any>): HttpRequest<any> {
27-
const token = TokenInterceptor.authService.getAccesToken()
28-
if (token == null) {
29-
return request;
30-
} else {
27+
if (TokenInterceptor.authService.isAuthenticated()) {
28+
const token = TokenInterceptor.authService.getAccessToken();
3129
return request.clone({ setHeaders: { Authorization: `Bearer ${token}` } });
30+
} else {
31+
return request;
3232
}
3333
}
3434
}

src/app/authentication/_services/authentication.service.ts

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ export class AuthenticationService {
4242
private initSubjectsPipe() {
4343
this.userSubject = new BehaviorSubject<UserInfoModel>(null);
4444
this.rolePASubject = new BehaviorSubject<UserRole[]>(null);
45-
this.accessTokenSubject = new BehaviorSubject<string>(this.getAccesToken());
45+
this.accessTokenSubject = new BehaviorSubject<string>(this.getAccessToken());
4646

4747
this.accessTokenSubject.subscribe(token => {
4848
if (token === 'logout') {
@@ -54,7 +54,7 @@ export class AuthenticationService {
5454
this.getRoles();
5555
this.router.navigate(['/']);
5656

57-
} else if (token && this.getRefreshToken() && this.jwtHelper.isTokenExpired(this.getAccesToken())) {
57+
} else if (token && this.getRefreshToken() && this.jwtHelper.isTokenExpired(this.getAccessToken())) {
5858
this.refreshToken();
5959

6060
} else {
@@ -184,7 +184,7 @@ export class AuthenticationService {
184184
window.open(environment.logoutUrl + params, '_self');
185185
}
186186

187-
public getAccesToken(): string {
187+
public getAccessToken(): string {
188188
return localStorage.getItem(localAccessTokenKey);
189189
}
190190

@@ -193,13 +193,17 @@ export class AuthenticationService {
193193
}
194194

195195
public isAuthenticated(): boolean {
196-
if (!this.jwtHelper.isTokenExpired(this.getAccesToken())) {
197-
return true;
198-
} else if (!this.jwtHelper.isTokenExpired(this.getRefreshToken())) {
199-
this.refreshToken();
200-
return true
196+
if(this.getAccessToken() || this.getRefreshToken()) {
197+
if (!this.jwtHelper.isTokenExpired(this.getAccessToken())) {
198+
return true;
199+
} else if (!this.jwtHelper.isTokenExpired(this.getRefreshToken())) {
200+
this.refreshToken();
201+
return true;
202+
} else {
203+
this.logout();
204+
return false;
205+
}
201206
} else {
202-
this.logout();
203207
return false;
204208
}
205209
}

0 commit comments

Comments
 (0)