* @param next
*/
public intercept(req: HttpRequest<{}>, next: HttpHandler): Observable<HttpSentEvent |
- // tslint:disable-next-line:no-any
+ // eslint-disable-next-line @typescript-eslint/no-explicit-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 (excludedUrl.some((x: string): boolean => req.url.includes(x))) { return next.handle(req); }
if (idToken.length > 0) {
this.setHeader(req, idToken);
return next.handle(this.clonedReq).pipe(
}
/** Set header options @public */
- // tslint:disable-next-line:no-any
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
public setHeader(req: HttpRequest<any>, idToken: string): void {
if (req.body !== null && req.body.byteLength !== null) {
this.clonedReq = req.clone({
});
} 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) {