Я реализую обмен ссылками для LinkedIn JavaScript для REST и имеет страницу с поддержкой SSL, на которой участник подписывается, и сохраняет свой токен oauth в защищенном «учетном файле» cookie в документах. Затем я пытаюсь передать эти файлы 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 отображаются только небезопасные куки (только страница Google Analytics и cookie сеанса PHP просматривается на странице приема), делая print_r($_COOKIE);
:
Array ( [__utma] => xxxx [__utmc] => xxxx [__utmz] => xxxx [PHPSESSID] => xxxx [__utmb] => xxxx )
Любые идеи, что я делаю неправильно? Я отправляю POSTing в тот же домен, используя 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? FYI, запуск PHP 5.3.3.