Измененный запрос не работает в угловых 6 - PullRequest
0 голосов
/ 12 апреля 2019

У меня есть следующая функция, которая вызывает службу обновления для получения нового токена для авторизации:

private handle401Error(request: HttpRequest<any>, next: HttpHandler) {
  if(!this.isRefreshingToken) {
    this.isRefreshingToken = true;
    return this.authService.refreshToken()
    .subscribe((response)=> {
      if(response) {
        const httpsReq = request.clone({
          url: request.url.replace(null, this.generalService.getUserId())
        });
        return next.handle(this.addTokenToRequest(httpsReq, response.accessToken));
      }
      return <any>this.authService.logout();
    }, err => {
      return <any>this.authService.logout();
    }, () => {
      this.isRefreshingToken = false;
    })
  } else {
    this.isRefreshingToken = false;
    return this.authService.currentRefreshToken
    .filter(token => token != null)
    .take(1)
    .map(token => {
      return next.handle(this.addTokenToRequest(request, token));
    })
  }
}

Когда ответ не определен и запрос возвращается обратно, новый запрос не вызывается

1 Ответ

0 голосов
/ 12 апреля 2019

Хорошо, дело в том, что предъявителя цитировали, как показано ниже:

enter image description here

Но у меня все еще есть одна проблема: запрос не вызывает новый запрос, когда я обновляю страницу, она предоставляет данные с новым токеном, вместо этого, как у меня ранее была неавторизованная ошибка.

...