Facebook 当用户未登录时,如何使用PHP SDK持久化已签名的_请求?

Facebook 当用户未登录时,如何使用PHP SDK持久化已签名的_请求?,facebook,facebook-php-sdk,Facebook,Facebook Php Sdk,我有一个应用程序选项卡,它不需要用户授权应用程序。当第一次加载选项卡时,我可以访问签名请求,如下所示:$signed_request=$facebook->getSignedRequest() 然后应用程序对服务器进行各种AJAX调用。对于每个AJAX调用,签名的_请求都不会持久化。我希望签名请求在这些AJAX调用期间可用,这样我就可以执行$signed\u request=$facebook->getSignedRequest()再次 我了解到,当用户登录时,JS SDK和PHP SDK通过c

我有一个应用程序选项卡,它不需要用户授权应用程序。当第一次加载选项卡时,我可以访问签名请求,如下所示:
$signed_request=$facebook->getSignedRequest()

然后应用程序对服务器进行各种AJAX调用。对于每个AJAX调用,签名的_请求都不会持久化。我希望签名请求在这些AJAX调用期间可用,这样我就可以执行
$signed\u request=$facebook->getSignedRequest()再次

我了解到,当用户登录时,JS SDK和PHP SDK通过cookie共享已签名的_请求。我是否可以在初始页面加载期间设置cookie,以便在AJAX调用期间持久保存签名的请求,从而可以通过PHP SDK访问它

对于每个AJAX调用,签名的_请求都不会持久化。我希望签名请求在这些AJAX调用期间可用,这样我就可以执行$signed_request=$facebook->getSignedRequest();再说一遍

为什么不把它作为参数添加到AJAX调用中


您知道参数名称,也知道值–因此只需将其与您发送的其他数据放在一起。

我目前的做法已经比您建议的要好。我是这样做的,首先:
$\u SESSION['signedRequest']=$facebook->getSignedRequest()
及更高版本:
$signed_request=$_会话['signedRequest']。但是,它要求我自己验证已签名的请求。我想让PHP SDK为我验证签名的请求。如果您忽略了详细描述,我猜不出您在做什么:-)-SDK尝试先从$\u request['signed\u request']读取签名的请求-因此请随意将其放在那里,而不是放在$\u request中。是的,对不起,我只是想回答你的问题“为什么不把它作为一个参数加入…”。发布签名请求是个好主意,但我想知道是否有更优雅的方法。如我所说,您可以从会话中填写$u请求['signed_request'],然后PHP SDK应该“找到”它。如果这更“优雅”,那就由你来决定……对不起,用词不当。我应该说,正如问题所述:“在初始页面加载期间,我是否可以设置一个cookie,它将在AJAX调用期间保留签名请求,以便通过PHP SDK访问?”