Facebook选项卡在经过身份验证的用户的签名请求中丢失页面信息

时间:2012-02-09 16:27:53

标签: php facebook facebook-php-sdk

查看未经授权的页面时,我的签名请求如下所示。

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 
)

我可以使用有效用户确定用户喜欢,但我想弄清楚为什么在从初始标签页导航后丢失标准的签名请求数据。

更新: 如果我将签名的请求存储到会话变量中并将其加载到后续页面上,我会维护完整的签名请求。我不应该这样做吗?

2 个答案:

答案 0 :(得分:7)

  

更新:如果我将签名的请求存储到会话变量中并将其加载到后续页面上,我会保留完整的签名请求。我不应该这样做吗?

这正是你应该做的。

签名的请求仅在Facebook最初加载Facebook标签时发送。 Facebook标签内的后续导航没有签名请求,因为Facebook不再启动页面加载。

答案 1 :(得分:1)

我正面临着与杰里米·琼斯提到的类似问题。在其他一些帖子中,我发现signed_request应该在$_REQUEST['signed_request']返回。但它对我来说是空的,我得到$signed_request = $facebook->getSignedRequest();的一些价值,但这里page数组丢失了。