Заголовки угловой аутентификации 2+ - PullRequest
0 голосов
/ 25 января 2019

У меня есть и Java-бэкэнд, который предоставляет мне некоторые API-интерфейсы, защищенные пользователем и паролем.

Так что, если я позвоню с помощью любого браузера или почтальона с авторизацией, у меня будет ответ.Но если я установлю httpHeaders с тем же пользователем и паролем, я получу 401 (Несанкционированный) ...

Мой код:

let username: string = 'admin';
let password: string = 'pe';
let headers =  new HttpHeaders().set('Authorization' , 'Basic ' + btoa(username + ':' + password)).set('Content-Type', 'application/json').set('cache-control', 'no-cache'); 
console.log(headers);

let params = new HttpParams().set('instID', value).set('procType', 'M');

return this.httpClient.get<pe_process_instance[]>('http://' + this.urlConfig.BASE_URL + ':' + this.urlConfig.PORT + '/' + this.urlConfig.WSBaseURL + '/getipeprocessinstances', { headers: headers , params: params });

Мой ответ: enter image description here

Если перейти к прямому URL: enter image description here

1 Ответ

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

Попробуйте установить headers следующим образом:

let headers = new HttpHeaders();

headers = headers.append('Authorization', 'Basic ' + btoa(username + ':' + password));
headers = headers.append('Content-Type', 'application/json');
headers = headers.append('cache-control', 'no-cache');

Когда вы используете .set() несколько раз, вы каждый раз перезаписываете свои заголовки, и отправляется только последний заголовок.

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