Токен на предъявителя работает на Почтальоне, но не на localhost - PullRequest
0 голосов
/ 04 января 2019

Я пытаюсь сделать запрос в Angular с авторизацией с токеном на предъявителя. Если я сделаю запрос в Почтальон , он работает. Но если я сделаю это из Angular, он выдаст мне ошибку 401 Unauthorized http.

Я уверен, что localstorage.getItem('auth_token') возвращает правильный токен, потому что я зарегистрировал его перед проверкой.

const httpOptions = {
  headers: new HttpHeaders(
    { 'Content-Type': 'application/json' ,
    Authorization: 'Bearer '+ localStorage.getItem('auth_token')})
  };

Это запрос, который я пытаюсь выполнить, который работает на почтальоне:

 getProducts(): Observable<string[]> {
    console.log(localStorage.getItem('auth_token'));
    return this.http.get<string[]>(this.productsURL)
      .pipe(
        tap(_ => this.log('fetched products')),
        catchError(this.handleError('getProducts', []))
      );
  }

1 Ответ

0 голосов
/ 04 января 2019

Ваша проблема в том, что вы не используете созданные заголовки.

Ваш код должен выглядеть следующим образом:

return this.http.get<string[]>(this.productsURL, httpOptions)
.pipe(
   tap(_ => this.log('fetched products')),
   catchError(this.handleError('getProducts', []))
);

Обратите внимание на конструктор .get - помимо передачи URL-адреса, он также передавал объект httpOptions, в котором вы создали токен на предъявителя.

...