Aurelia HttpClient с аутентификацией

Я пытаюсь использовать Aurelia HttpClient для вызова API TagniFi в другом домене (и аутентификации). Соответствующий код:

return this._httpClient.createRequest(uri)
     .asGet()
     .withCredentials(true)
     .withHeader('Access-Control-Allow-Origin', 'localhost:9000')
     .withHeader('Authorization', 'Basic <my-key>')
     .send();

Я получаю статус 200 от API, но получаю следующую ошибку:

Ответ на предварительный запрос не проходит проверку управления доступом:> подстановочный знак «*» не может использоваться в заголовке «Access-Control-Allow-Origin»>, когда флаг учетных данных имеет значение true. Доступ к источнику 'http://localhost:9000' > запрещен. Режим учетных данных XMLHttpRequest > управляется атрибутом withCredentials.

Я не уверен, что это ошибка в том, как я звоню, или ошибка в Aurelia. Любая помощь приветствуется. Спасибо.


person sevenshadow    schedule 01.04.2016    source источник


Ответы (1)


Access-Control-Allow-Origin — это заголовок, отправляемый сервером в ответе, и в вашем случае вы используете его в запросе от клиента.

Это не ошибка в Aurelia, а неправильное использование CORS.

См. отличный ответ для получения дополнительной информации о CORS.

person Valentin B.    schedule 01.04.2016
comment
Спасибо, Валентин, я ценю ваш ответ. Итак, если я правильно понимаю, проблема заключается в том, что целевой сервер, на который я звоню, не настроен для возврата заголовка Access-Control-Allow-Origin. Другими словами, это не ошибка в моем коде, а ошибка в конфигурации на сервере? Если это ошибка в моем коде, дайте мне знать, если у вас есть предложенное исправление. Спасибо. - person sevenshadow; 01.04.2016