Thomas
					
					5 years ago
					
						
							committed by
							
								
								GitHub
							
						 
					
				 
				
			 
		 
		
			
				
					
					No known key found for this signature in database
					
						
							GPG Key ID: 4AEE18F83AFDEB23
						
					
				
			
		
		
		
	
		
			
				 3 changed files with 
12 additions and 
16 deletions
			 
			
		 
		
			
				- 
					
					
					 
					CHANGELOG.md
				
 
			
				- 
					
					
					 
					apps/client/src/app/core/auth.interceptor.ts
				
 
			
				- 
					
					
					 
					apps/client/src/app/core/http-response.interceptor.ts
				
 
			
		
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
			
				
					| 
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -13,6 +13,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					### Fixed | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					- Fixed the frozen screen if the token has expired | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					- Fixed some issues in the generic scraper | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					## 0.87.0 - 19.04.2021 | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
				
				 | 
				
					
  | 
				
			
			
		
	
								
							
						
					 
					
				 
			 
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
			
				
					| 
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -45,21 +45,7 @@ export class AuthInterceptor implements HttpInterceptor { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      authReq = req.clone({ headers }); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    return next.handle(authReq).pipe( | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      tap( | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        () => {}, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        (err: any) => { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          if (err instanceof HttpErrorResponse) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            if (err.status !== 401) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					              return; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            this.tokenStorageService.signOut(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            this.router.navigate(['start']); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      ) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    ); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    return next.handle(authReq); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
				
				 | 
				
					
  | 
				
			
			
		
	
								
							
						
					 
					
				 
			 
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
			
				
					| 
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -15,15 +15,21 @@ import { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  MatSnackBarRef, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  TextOnlySnackBar | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					} from '@angular/material/snack-bar'; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import { Router } from '@angular/router'; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import { StatusCodes } from 'http-status-codes'; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import { Observable, throwError } from 'rxjs'; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import { catchError, tap } from 'rxjs/operators'; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import { TokenStorageService } from '../services/token-storage.service'; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					@Injectable() | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					export class HttpResponseInterceptor implements HttpInterceptor { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  public snackBarRef: MatSnackBarRef<TextOnlySnackBar>; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  public constructor(private snackBar: MatSnackBar) {} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  public constructor( | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    private router: Router, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    private tokenStorageService: TokenStorageService, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    private snackBar: MatSnackBar | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  ) {} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  public intercept( | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    request: HttpRequest<any>, | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -70,6 +76,9 @@ export class HttpResponseInterceptor implements HttpInterceptor { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					              window.location.reload(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            }); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        } else if (error.status === StatusCodes.UNAUTHORIZED) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          this.tokenStorageService.signOut(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          this.router.navigate(['start']); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        return throwError(''); | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
				
				 | 
				
					
  |