HTTP-запрос Angular 6 HTTP с базовой аутентификацией HTTP - PullRequest
0 голосов
/ 04 декабря 2018

Я пытаюсь получить доступ к URL с помощью Базовая аутентификация .

URL возвращает данные JSON.

Как я могу добавить свое имя пользователя и пароль к этому httpзапрос ниже?

private postsURL = "https://jsonExample/posts";

getPosts(): Observable<AObjects []>{
    return this.http.get<AObjects[]>(this.postsURL); 
}

Ответы [ 2 ]

0 голосов
/ 04 декабря 2018

Я не знаю, что именно вы хотите сделать после авторизации, но чтобы авторизоваться с помощью простого вызова с базовой аутентификацией, вам нужно сделать так:

let authorizationData = 'Basic ' + btoa(username + ':' + password);

const headerOptions = {
    headers: new HttpHeaders({
        'Content-Type':  'application/json',
        'Authorization': authorizationData
    })
};

this.http
    .get('{{url}}', { headers: headerOptions })
    .subscribe(
        data => { // json data
            console.log('Success: ', data);
        },
        error => {
            console.log('Error: ', error);
        });
0 голосов
/ 04 декабря 2018

См. https://angular.io/guide/http или https://v6.angular.io/guide/http#adding-headers

import { HttpHeaders } from '@angular/common/http';

const httpOptions = {
  headers: new HttpHeaders({
    'Content-Type':  'application/json',
    'Authorization': 'Basic ' + btoa('username:password')
  })
};

Затем используйте заголовки:

return this.http.get<AObjects[]>(this.postsURL, httpOptions); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...