J'ai un service dans Angular 6) et j'essaie de modifier un enregistrement, mais cela signifie que je ne suis pas autorisé.
En ce moment j'ai ceci:
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);
}
Ma question est:
Comment ajouter une autorisation de base à mes httpOptions ou dois-je l'ajouter directement à la méthode de mise à jour?
Vous pouvez ajouter une autorisation de base en l'ajoutant dans les en-têtes, comme ci-dessous:
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
};
En regardant la documentation angular.io, c'est assez simple.
const httpOptions = {
headers: new HttpHeaders({
'Content-Type': 'application/json',
'Authorization': 'Basic my-auth-token'
})
};
Et vous pouvez utiliser la constante httpOptions
comme vous l'avez fait.
Pour plus d'informations: https://angular.io/guide/http#adding-headers
Ajoutez simplement votre jeton/autorisation dans les en-têtes comme ceci -
let httpHeaders = new HttpHeaders()
.set('authorization', this.authorizationHeaderValue)
.set('Content-Type', application/json);
Les deux ont des méthodes telles que set et append. set construit un nouveau corps avec une nouvelle valeur et append construit un nouveau corps avec une valeur ajoutée
PS: Ici, je suppose que la variable (this.authorizationHeaderValue) est une valeur incluse comme Bearer
ou Basic
ou peu importe, modifiez-la en conséquence.
Pour plus lire ici