typescript - Angular 6 - httpClient mengirimkan otentikasi dasar di httpOptions


Saya memiliki sebuah layanan di Angular 6 dan saya mencoba mengubah sebuah catatan tetapi dikatakan saya tidak memiliki izin.

Saat ini saya memiliki ini:

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

Pertanyaan saya adalah:

Bagaimana cara saya menambahkan otorisasi dasar ke httpOptions saya atau apakah saya menambahkannya langsung ke metode update?

Jawaban #1

Anda dapat menambahkan otorisasi dasar dengan menambahkannya di header, seperti di bawah ini:

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

Jawaban #2

Melihat dokumentasi angular.io, ini cukup sederhana.

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

Dan Anda dapat menggunakan konstanta httpOptions seperti yang Anda lakukan.

Untuk informasi lebih lanjut: https://angular.io/guide/http#adding-headers

PS: Ini adalah metode untuk aplikasi kecil atau cepat; jika Anda ingin membangun aplikasi yang lebih kuat, pertimbangkan menggunakan interceptor HTTP yang secara otomatis menambahkan header Authorization secara langsung.

Artikel terkait