我正在构建一个Facebook画布应用程序,我正在使用facebook提供的签名请求参数来检查用户是否已经对该应用程序进行了身份验证。 (通过检查user_id字段的存在)。如果未设置user_id,则我将用户重定向到uthorization页面(使用javascript中的top.location)。
问题是,在我的应用程序中,我需要进行内部重定向,然后我再也无法获得签名请求了。
可能的解决方案: 1)。更改我检查用户是否安装了应用程序的方式。获取当前用户(不知道我是否还需要签名请求)。然后使用图形api检查权限。
2)。总是使用客户端重定向。 (然后我可以总是获得已签名的请求,并且它还为用户提供了更好的导航,因为顶部网址发生了变化。)不确定与iframe重定向相比的性能。
在您的意见中,最佳选择是什么。
PS:我使用的是PHP SDK / symfony框架和javascript sdk。
答案 0 :(得分:0)
处理此问题的最常见方法是设置cookie以继承signed_request或您需要的任何数据子集,因此它可在所有页面上使用。您可以直接或使用PHP会话来存储数据。
但我个人认为,在iframe应用程序中,cookie是一个坏主意。对于可能满足您需求的替代方法,请查看http://www.braintilt.com/fbcookies.php。