Angular 4 Использование HttpInterceptor для привязки заголовка во время выполнения

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

Поток заявки -

Страница входа - пользователь входит в систему - получает токен, а затем во всех http-запросах необходимо отправить этот токен.

Рабочая сцена

   var headers = new HttpHeaders()
        .set('Content-Type', 'application/json')
        .set('X-Token', '123'); <-- read token from storage
return this.http.post(this.url + '/' + endpoint, body, {headers: this.headers});

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

export class AddHeaderInterceptor implements HttpInterceptor {
  intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
    // Clone the request to add the new header
    const clonedRequest = req.clone({ headers: req.headers.set('X-Token', 'a') });

    // Pass the cloned request instead of the original request to the next handle
    return next.handle(clonedRequest);
  }

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


person Luckyy    schedule 27.11.2017    source источник
comment
Совсем не возможно. Ссылка на то, как добавить перехватчик... что я уже делаю и разместил код выше, вопрос заключается в изменении заголовков для отправки в перехватчик   -  person Luckyy    schedule 27.11.2017
comment
Вы можете сохранить токен в службе и внедрить эту службу в HttpInterceptor. Всякий раз, когда служба обновления токенов будет предоставлять вам обновленный токен.   -  person Kaustubh Khare    schedule 27.11.2017
comment
Возможный дубликат Angular 4 — перехватчик HTTP   -  person Owen Pauling    schedule 27.11.2017
comment
Мне трудно понять, в чем здесь проблема. Если у вас где-то хранится токен, почему бы не получить его в перехватчике?   -  person AJT82    schedule 27.11.2017