我正在實施LinkedIn JavaScript to REST token exchange,並且有一個會員登錄的啓用SSL的頁面,該頁面將每個文檔的oauth標記存儲在安全的「憑證」cookie中。我則試圖通過jQuery $.post()
通過這些Cookie的PHP頁面:通過AJAX向PHP傳遞安全cookie
$.post('https://' + document.domain + '/exchange.php', function(data) {
alert(data);
});
當我檢查通過螢火發送的數據,我可以看到在jQuery的POST頭中的以下內容:
Cookie: __utma=xxxx; __utmc=xxxx; __utmz=xxxx; linkedin_oauth_YYYY=yyyy; PHPSESSID=xxxx; __utmb=xxxx
然而exchange.php頁面上,只有非安全cookie暴露(只有谷歌Analytics(分析)和PHP會話cookie可以被接收頁面中看到)這樣做print_r($_COOKIE);
:
Array
(
[__utma] => xxxx
[__utmc] => xxxx
[__utmz] => xxxx
[PHPSESSID] => xxxx
[__utmb] => xxxx
)
任何想法我做錯了什麼?我使用SSL發佈到相同的域,但安全cookie不可用於exchange.php
腳本。
更新:
我現在呼應了exchange.php頁面上的$ _ SERVER值,以及,有趣的是我得到如下:
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。