title: HttpInterceptor and AuthGuard are blocking each other
body: <p>I poorly design my authorization system. And I need advise to correct few errors.</p>
  
  <p>I created :</p>
  
  <ul>
  <li>an HttpInterceptor to:
  
  <ul>
  <li>set JWT token in header on each request (it's kept in localStorage)</li>
  <li>retrieve and update JWT token from response (each authorized request send back an updated token in header response)</li>
  <li>on 401 errors, redirect the user to login page</li>
  </ul></li>
  <li>an AuthGuard to:
  
  <ul>
  <li>put it on some route</li>
  <li>check if user is authorized if not redirect to login page</li>
  </ul></li>
  <li>a UserService that:
  
  <ul>
  <li>keep in a BehaviorSubject the current user</li>
  <li>try to refresh current user if a JWT token is stored in localStorage</li>
  </ul></li>
  </ul>
  
  <p>My usecase is:</p>
  
  <ol>
  <li>user try to directly load a page with restricted authorization</li>
  <li>the guard load UserService to verify that user is logged in</li>
  <li>the UserService make http call</li>
  <li>HttpInterceptor get request as there is no token in localStrorage, it doesn't take the token</li>
  <li>the back as there is no token send a 401 </li>
  <li>the interceptor intercept the response catch the 401 and return a null</li>
  <li>as the response is turn into a null, it never reach back the UserService which won't allow the Guard to resolve the route (then the navigate made in 401 interceptor won't be ever call)</li>
  </ol>
  
  <p>For complete code, <a href="https://github.com/asirko/JumpPong" rel="noreferrer">here is the complete GitHub repo</a> and more precisly:</p>
  
  <ul>
  <li><a href="https://github.com/asirko/JumpPong/blob/master/src/app/shared/token-interceptor.service.ts" rel="noreferrer">HttpInterceptor</a></li>
  <li><a href="https://github.com/asirko/JumpPong/blob/master/src/app/shared/auth.guard.ts" rel="noreferrer">AuthGuard</a></li>
  <li><a href="https://github.com/asirko/JumpPong/blob/master/src/app/features/users/user.service.ts" rel="noreferrer">UserService</a></li>
  </ul>
  
  <p>How to make the interceptor return an empty response instead of null? I suppose would be enough to solve the problem.
  Or should I do a complete different pattern ?</p>