Токен JWT не передается в заголовке в angular6

#angular

#angular

Вопрос:

 intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
    let request = req.clone({
      setHeaders: this.getRequestHeaders()
    });
    return next.handle(request).map((event: HttpEvent<any>) => {
      if (event instanceof HttpResponse amp;amp; event.status==200) {
      } else 
      console.log('event =', event, ';');
      return event;
    })
    .catch((err: any, caught) => {
      if (err instanceof HttpErrorResponse) {
        let error=err['error']
        // if (err['error'] amp;amp; (err['error']['status'] == 401) amp;amp; (err['error']['message']=="Session Expired,please login Again.") || err['error']['message']=="Full authentication is required to access this resource") {
        //   setTimeout(()=>{
        //     this.localStorageService.clearLocalStorage();
        //     return this.router.navigate(['/login']);              
        //   }, 1000);
        // }
        return Observable.throw(error);
      }
    });
  }

  public getRequestHeaders(){
    let token=this.localStorageService.getToken();
    let headers={'Accept':  'application/json'};
    if(token){
      headers['Authorisation']=token;
    }
    return headers;
  }
 

Я внедрил службу перехватчика, но токен не передается при
передаче в заголовке, и из-за этого ничего не работает. Я извлекаю
токен из локального хранилища, но ничего не показываю

Комментарии:

1. Попробуйте зарегистрировать токен

2. токен показывает значение null, потому что локальное хранилище будет пустым перед входом в систему

3. Сначала вам нужно установить токен в localstorage, тогда только вы можете получить

4. Я уже сделал это

5. Вы сохранили как значение ключа?

Ответ №1:

Чтобы установить заголовок, вы должны создать экземпляр заголовка, подобный этому. Ниже приведен мой пример

   private initAuthHeaders(): Headers {
    const token = this.getLocalToken();
    const headers = new Headers();
    if (token !== null) {
      headers.append('Authorization', 'Bearer '   token);
    }
    headers.append('Content-Type', 'application/json');
    return headers;
  }