Я пытаюсь получить доступ к API, для которого требуется базовая авторизация.
Используя Postman или Advanced Rest API Tool, я могу получить ответ. Однако, когда я пытаюсь получить доступ через Angular 4 HttpClient, я получаю это исключение:
login:1 XMLHttpRequest не может загрузить https://someUrl.com:4400/api/v1/login< /а>. Ответ на предварительный запрос не проходит проверку управления доступом: в запрошенном ресурсе отсутствует заголовок «Access-Control-Allow-Origin». Таким образом, доступ к источнику 'http://localhost:4200' запрещен. В ответе был код состояния HTTP 405.
Вот угловой код
@Injectable()
export class LoginService {
constructor(private http: HttpClient, @Inject('api') private api) {
}
login(post) {
let auth="Basic "+ btoa(post.username + ":" + post.password);
console.log(auth);
let headers = new HttpHeaders({'Content-Type': 'application/json'})
.set("authorization", auth);
console.log(headers);
return this.http.post(this.api + 'login',null,{
headers:headers
});
}
}