Я реализую обмен токенами LinkedIn JavaScript на REST , и у меня есть страница с поддержкой SSL, на которую входит участник, которая хранит свой oauth-токен в безопасном cookie-файле «учетные данные» согласно документам , Затем я пытаюсь передать эти куки на страницу PHP через jQuery $.post()
:
$.post('https://' + document.domain + '/exchange.php', function(data) {
alert(data);
});
Когда я проверяю данные, отправляемые через Firebug, я вижу следующее в заголовке jQuery POST:
Cookie: __utma=xxxx; __utmc=xxxx; __utmz=xxxx; linkedin_oauth_YYYY=yyyy; PHPSESSID=xxxx; __utmb=xxxx
Тем не менее, на странице exchange.php открываются только незащищенные файлы cookie (только принимающая страница может видеть только файлы Google Analytics и файлы cookie сеанса PHP), выполнив print_r($_COOKIE);
:
Array
(
[__utma] => xxxx
[__utmc] => xxxx
[__utmz] => xxxx
[PHPSESSID] => xxxx
[__utmb] => xxxx
)
Есть идеи, что я делаю не так? Я размещаю сообщение в том же домене, используя SSL, но безопасный файл cookie недоступен для сценария exchange.php
.
Обновление:
Теперь я отображаю значения $ _SERVER на странице exchange.php, и, что интересно, я получаю следующее:
Array
(
[HTTPS] => on
[HTTP_COOKIE] => __utma=xxxx; __utmc=xxxx; __utmz=xxxx; linkedin_oauth_YYYY=yyyy; PHPSESSID=xxxx; __utmb=xxxx
)
Итак, файл cookie передается, но не устанавливается в переменной $ _COOKIE? К вашему сведению, работает PHP 5.3.3.