2016-11-21 2 views
2

Как добавить заголовки в запрос OPTIONS, сделанный в отношении междоменного API?Добавить аутентификацию в запрос OPTIONS

API, с которым я работаю, требует, чтобы токен JWT был установлен как заголовок Authorization для всех запросов.

Когда я пытаюсь получить доступ к API Углового первый выполняет OPTIONS запроса, который не заботится о своих заголовках, которые я установка для «реального» запроса, как это:

this._headers = new Headers({ 
    'Content-Type': 'application/x-www-form-urlencoded', 
    'Authorization': 'Bearer my-token-here' 
}); 

return this._http 
      .post(AppConfig.apiUrl + 'auth/logout', params, {headers: this._headers}) 
      ... 
      ... 

Когда не предоставляемся маркер , API возвращает статус HTTP 401, а Angular считает, что запрос OPTIONS терпит неудачу.

ответ

7

В соответствии с CORS specification when a preflight request учетные данные пользователя исключаются.

(...) с помощью метода OPTIONS, и со следующими дополнительными ограничениями:

  • (...)
  • Исключить заголовки запроса автор.
  • Исключить учетные данные пользователя.
  • (...)

(выделено мной)

Имея это в виду, что проблема, кажется, на стороне API вещей, которые должна принимать OPTIONS запросы без проверки подлинности.