2012-02-09 53 views
3

查看非授權頁面時,我的簽名請求看起來像這樣。Facebook選項卡丟失經過身份驗證的用戶的簽名請求中的頁面信息

Array ( 
    [algorithm] => HMAC-SHA256 
    [issued_at] => 1328803958 
    [page] => Array ( 
    [id] => 114951721840 
    [liked] => 1 
    [admin] => 1) 
    [user] => Array ( 
     [country] => us 
     [locale] => en_US 
     [age] => Array ([min] => 21) 
    ) 
) 

授權應用程序後,初始選項卡頁簽署的請求看起來像這樣。

Array ( 
    [algorithm] => HMAC-SHA256 
    [expires] => 1328810400 
    [issued_at] => 1328804617 
    [oauth_token] => AAAEQiWKOJTUBAB7la6TzNybfDkv6eYwtGUayappUspm3hWx6qKAFw3Ahbdhqv1xZC27WmrZC0yMMdtE0pdxoiUruZABg1zN1DalnYqS5AZDZD 
    [page] => Array ( 
    [id] => 114951721840 
    [liked] => 1 
    [admin] => 1) 
    [user] => Array ( 
     [country] => us 
     [locale] => en_US 
     [age] => Array ([min] => 21) 
    ) 
) 
    [user_id] => 30811359 
) 

最後,一旦我遠離此頁面導航,簽名請求看起來像這樣。

Array ( 
    [algorithm] => HMAC-SHA256 
    [code] => 2.AQAq5nTl5j7tMkqF.3600.1328810400.5-30811359|tXdv-ci5z1GIzo9CY5HXp_piL3I 
    [issued_at] => 1328804621 
    [user_id] => 30811359 
) 

我能確定用戶喜歡使用有效的用戶,但我想弄清楚爲什麼我從最初的標籤頁瀏覽後失去了標準簽名的請求數據。

UPDATE: 如果我將已簽名的請求存儲到會話變量並將其加載到後續頁面上,我會保留完整簽名的請求。有沒有理由我不應該這樣做?

回答

7

更新:如果我將已簽名的請求存儲到會話變量並將其加載到後續頁面上,我維護完整簽名的請求。有沒有理由我不應該這樣做?

這正是你應該做的。

簽署的請求僅在Facebook標籤最初由Facebook加載時發送。 Facebook選項卡中的後續導航不會附帶簽名請求,因爲Facebook不會再啓動頁面加載。

+0

謝謝,一切似乎都運作良好。 – 2012-02-10 20:54:36

1

我正面臨類似「Jeremy Jones」提到的問題。在其他一些帖子中,我發現signed_request應該在$_REQUEST['signed_request']的返回中。但它對我來說是空的,我得到了一些$signed_request = $facebook->getSignedRequest();的值,但是這裏的page數組缺失。

+1

當您的應用的頁面標籤url設置中的簽名請求爲空時,您必須將其指向index.php(source http://stackoverflow.com/a/5264840) – chepe263 2013-11-28 04:18:38

相關問題