Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Facebook身份验证和后续ajax调用:效率和缓存_Ajax_Facebook_Facebook Javascript Sdk_Facebook Php Sdk - Fatal编程技术网

Facebook身份验证和后续ajax调用:效率和缓存

Facebook身份验证和后续ajax调用:效率和缓存,ajax,facebook,facebook-javascript-sdk,facebook-php-sdk,Ajax,Facebook,Facebook Javascript Sdk,Facebook Php Sdk,我的web应用程序具有一个FB登录按钮,该按钮连接到一些客户端javascript以修改html“online”元素。PHP端具有标准构造函数 function facebook() { return new Facebook( array( 'appId' => getSetting("fb:app_id"), 'secret' => getSetting("fb:secret")

我的web应用程序具有一个FB登录按钮,该按钮连接到一些客户端javascript以修改html“online”元素。PHP端具有标准构造函数

function facebook()
{

    return new Facebook(
        array(
            'appId' =>  getSetting("fb:app_id"),
            'secret' => getSetting("fb:secret")
            ));;
}
现在我的理解是,这应该也可以解决所有访问令牌缓存等问题。那么,为什么后续ajax调用我的服务器应用程序(然后再次进行FB身份验证)需要这么长时间呢?我确实需要在每次访问页面时重新创建Facebook对象,不是吗?它应该通过自己的会话管理来提高效率吗


还是我处理得不对?我是否应该这样做一次,以确定用户FB ID(然后我将其用于特定于应用程序的身份验证),然后通过ajax回调通知服务器登录/注销,以便我的服务器知道FB状态?希望这有点道理

需要在php端缓存,而不是在每次回拨时重新验证。

好吧,简单地说:不要在每次回拨时进行身份验证。PHP身份验证过程需要很长时间——它似乎没有做任何智能缓存。因此,我只是监视状态的变化,并通过ajax调用PHP,然后在PHP端对页面生命周期进行一次身份验证/取消身份验证后,缓存状态,以避免客户端对保存/删除等操作冒充管理员权限。