【发布时间】:2011-10-10 13:43:49
【问题描述】:
我的 Web 应用程序具有一个 FB 登录按钮,该按钮连接到某些客户端 javascript 以修改 html“在线”元素。 PHP端具有标准构造函数
function facebook()
{
return new Facebook(
array(
'appId' => getSetting("fb:app_id"),
'secret' => getSetting("fb:secret")
));;
}
现在我的理解是,这应该并且可以处理所有访问令牌缓存等。那么为什么后续的 ajax 调用回我的服务器应用程序(然后再次进行 FB 身份验证)需要这么长时间?我确实需要在每个页面访问时重新创建 Facebook 对象,不是吗?它应该通过自己的会话管理来提高效率吗?
还是我错误地接近它?我是否应该这样做一次以确定用户 FB ID(然后我将其用于特定于应用程序的身份验证)之类的事情,然后通过 ajax 回调通知服务器登录/注销,以便我的服务器知道 FB 状态?希望这有某种意义!
【问题讨论】:
-
好吧,很简单:不要在每次回调时进行身份验证。 PHP Auth 过程需要很长时间——它似乎没有做任何智能缓存。所以我只是监控状态变化并通过 ajax 调用 PHP,然后在 PHP 端对页面生命周期进行一次身份验证/取消身份验证后缓存状态,以避免客户端假装管理员权限,例如保存/删除等。跨度>
标签: ajax facebook facebook-javascript-sdk facebook-php-sdk