HTTP-вызов API возвращает 401 Несанкционированный с httpClient в Angular 5 - PullRequest
0 голосов
/ 27 апреля 2018
return this.http.get<any>('https://test.p-44.com/api/v3/tl/shipments/'+id+'/statuses?includeMapUrl=true', {
      headers:
        new HttpHeaders()
          .append('Accept', 'application/json')
          .append('Content-Type', 'application/json')
          .append('Authorization', 'Basic ' + btoa("xxxxx:xxx"))
      , responseType: 'json'
    })
    .map((response: Response) => <any>response)

Вот мой сервисный вызов API, который вернет ошибку:

Не удалось загрузить https://test.p -44.com / api / v3 / tl / shipments / 1252 / statuses? IncludeMapUrl = true : Ответ на предпечатный запрос не проходит проверку контроля доступа: Нет ' Заголовок Access-Control-Allow-Origin 'присутствует в запрашиваемом ресурсе. Поэтому происхождение 'https://dev.18th -avenue.com ' не разрешено. Ответ имеет HTTP-код состояния 401.

Но этот вызов будет отлично работать на моем locahost, когда я использую конфигурацию прокси как:

const PROXY_CONFIG = [
  {
      context: [
          "/44",
      ],
      target: "https://test.p-44.com",
      secure: false,
      changeOrigin: true,
      pathRewrite: {"^/44" : ""}

  }
]
module.exports = PROXY_CONFIG;


return this.http.get<any>('/44/api/v3/tl/shipments/'+id+'/statuses?includeMapUrl=true', {
      headers:
        new HttpHeaders()
          .append('Accept', 'application/json')
          .append('Content-Type', 'application/json')
          .append('Authorization', 'Basic ' + btoa("pmorin@18th-avenue.com:Action18!"))
      , responseType: 'json'
    })
    .map((response: Response) => <any>response)

У вас есть идея, почему этот прокси-вызов работает, а без него нет? Я использую IIS сервер, мне нужно добавить туда конфиг или что-то еще? Когда я соберу свое приложение на своем сервере, я не смогу использовать этот прокси

Спасибо

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