Skip to content

Commit e205c0c

Browse files
committed
TTA-214 added http interceptor for redirecting to login when 401 resonse status
1 parent 4354617 commit e205c0c

File tree

1 file changed

+13
-1
lines changed

1 file changed

+13
-1
lines changed

src/app/modules/shared/interceptors/inject.token.interceptor.ts

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,16 @@ import {
44
HttpInterceptor,
55
HttpHandler,
66
HttpRequest,
7+
HttpErrorResponse,
78
} from '@angular/common/http';
89
import { Observable } from 'rxjs';
10+
import { tap } from 'rxjs/operators';
911

1012
import { AzureAdB2CService } from 'src/app/modules/login/services/azure.ad.b2c.service';
1113
import { environment } from './../../../../environments/environment';
1214
import { EnvironmentType } from 'src/environments/enum';
1315
import { LoginService } from '../../login/services/login.service';
16+
import { catchError } from 'rxjs/operators';
1417

1518
@Injectable()
1619
export class InjectTokenInterceptor implements HttpInterceptor {
@@ -25,7 +28,16 @@ export class InjectTokenInterceptor implements HttpInterceptor {
2528
headers: request.headers.set('Authorization',
2629
'Bearer ' + token)
2730
});
28-
return next.handle(requestWithHeaders);
31+
return next.handle(requestWithHeaders)
32+
.pipe(
33+
tap(() => { }, (err: any) => {
34+
if (err instanceof HttpErrorResponse) {
35+
if (err.status === 401) {
36+
this.loginService.logout();
37+
}
38+
}
39+
})
40+
);
2941
} else {
3042
return next.handle(request);
3143
}

0 commit comments

Comments
 (0)