Angular 6 - httpClient передает базовую аутентификацию в httpOptions - PullRequest
0 голосов
/ 05 июня 2018

У меня есть служба в Angular 6, и я пытаюсь изменить запись, но она говорит, что я не авторизован.

Сейчас у меня есть это:

const httpOptions = {
  headers: new HttpHeaders({'Content-Type': 'application/json'})
};

  update(id, title, content) {
    const updateData = { id: id, title: title, content: content };
      return this.http.put(`http://myurl/${id}`, updateData, httpOptions);
  }

Мойвопрос:

Как добавить базовую авторизацию в мои httpOptions или добавить ее непосредственно в метод обновления?

Ответы [ 3 ]

0 голосов
/ 05 июня 2018

Вы можете добавить базовую авторизацию, добавив ее в заголовки, как показано ниже:

var headers_object = new HttpHeaders();
headers_object.append('Content-Type', 'application/json');
headers_object.append("Authorization", "Basic " + btoa("username:password"));

const httpOptions = {
  headers: headers_object
};
0 голосов
/ 05 июня 2018

Глядя на документацию angular.io, это довольно просто.

const httpOptions = {
  headers: new HttpHeaders({
    'Content-Type':  'application/json',
    'Authorization': 'Basic my-auth-token'
  })
};

И вы можете использовать константу httpOptions, как и вы.

Для получения дополнительной информации: https://angular.io/guide/http#adding-headers

0 голосов
/ 05 июня 2018

Просто добавьте свой токен / авторизацию в заголовки следующим образом -

let httpHeaders = new HttpHeaders()
              .set('authorization', this.authorizationHeaderValue)
              .set('Content-Type', application/json); 

Оба имеют такие методы, как set и append.set создает новое тело с новым значением, а append создает новое тело с добавленным значением

PS: здесь я предполагаю, что переменная (this.authorizationHeaderValue) содержит значение типа Bearer илиBasic или что угодно, измените его соответствующим образом.

Подробнее читайте здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...