2015-10-01 5 views
0

Я пишу клиент webservice, который запускается из командной строки и обращается к службе, которая использует Oauth2.PHP Curl - заголовки не сохраняются при перенаправлении

Я, кажется, правильно получаю маркер Oauth, и первый запрос в вебсервис распознает токен. Однако ответ является перенаправлением 303 (я установил CURLOPT_FOLLOWLOCATION => true), однако на следующей странице указано, что я не предоставил токен аутентификации.

В настоящее время я прохожу маркер OAuth, установив заголовок для локонов ручки:

"Authorization: OAuth2 $oauth" 

Я подозреваю, что заголовок не включается в последующих запросах.

Я пробовал настройку CURLOPT_UNRESTRICTED_AUTH => true, безрезультатно (но в соответствии с руководством, которое сохраняет имя пользователя и пароль для перенаправления - не заголовок аутентификации).

Веб-сервис позволяет отправлять токены oauth в заголовке аутентификации или в URL-адресе (но не в виде файла cookie). Установка маркера в URL-адресе возвращает ту же переадресацию (т. Е. Без токена в URL-адресе), поэтому я не могу использовать этот метод с CURLOPT_FOLLOWLOCATION.

(услуга не позволяет OAuth лексем, посланных в печенье, PHP версия 5.6)

+1

Вы запрашиваете SSL-хост? –

+0

Да (что делает довольно трудным увидеть, что на самом деле делает код) – symcbean

+0

Вы добавили: curl_setopt ($ conn, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt ($ conn, CURLOPT_SSL_VERIFYHOST, FALSE); на завитках? –

ответ

0

Обнаружив, что много других плохих вещей происходит на прокси Websense я соединительном с помощью (кэширования содержимого известно, истек, кеширование ответов POST!) Я пробовал обходить его полностью, и все проблемы исчезли.

Смежные вопросы