typescript - Angular 6 - httpClient prosljeđivanje osnovne autentifikacije u httpOptions


Imam servis u Angular 6 i pokušavam promijeniti zapis, ali kaže da nisam ovlašten.

Trenutno imam ovo:

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);
  }

Moje pitanje je:

Kako mogu dodati osnovnu autorizaciju u moje httpOptions ili je dodajem direktno u metodu za ažuriranje?

Odgovor #1

Možete dodati osnovnu autorizaciju tako da je dodate u zaglavlja, kao u nastavku:

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
};

Odgovor #2

Gledajući dokumentaciju angular.io, prilično je jednostavno.

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

I možete koristiti konstantu httpOptions kao što ste i činili.

Za više informacija: https://angular.io/guide/http#adding-headers

PS: Ovo je metoda za male ili brze aplikacije; ako želite izgraditi robusnije aplikacije, razmislite o korištenju HTTP presretača koji automatski dodaje Authorization zaglavlje u pokretu.

Povezani članci