public intercept(req: HttpRequest<{}>, next: HttpHandler): Observable<HttpSentEvent |
// tslint:disable-next-line:no-any
HttpHeaderResponse | HttpProgressEvent | HttpResponse<{}> | HttpUserEvent<any> | any> {
- const idToken: string = localStorage.getItem('id_token');
+ const idToken: string = sessionStorage.getItem('id_token');
const excludedUrl: string[] = ['osm/admin/v1/tokens', 'assets/i18n/', 'osm/version'];
if (excludedUrl.some((x: string): boolean => { return req.url.includes(x); })) { return next.handle(req); }
if (idToken.length > 0) {
});
} else {
this.clonedReq = req.clone({
- setHeaders: { Authorization: 'Bearer ' + idToken, 'Content-Type': 'charset=UTF-8',
- 'Cache-Control': 'no-cache', Pragma: 'no-cache' }
+ setHeaders: {
+ Authorization: 'Bearer ' + idToken,
+ 'Content-Type': 'charset=UTF-8',
+ 'Cache-Control': 'no-cache',
+ Pragma: 'no-cache'
+ }
});
}
}
/** Method to handle 401, 403 & 502 error */
private handleError(err: HttpErrorResponse): void {
- if (err.error.detail !== 'Access denied: lack of permissions.') {
+ if (err.error.detail !== 'Access denied: lack of permissions.' && err.error.detail !== 'You cannot remove system_admin role from admin user') {
this.notifierService.hideAll();
this.authService.logoutResponse();
if (this.authService.handle401) {