2011-10-10 24 views
0

我的web應用程序具有一個FB登錄按鈕,它連接到某些客戶端JavaScript以修改html「在線」元素。 PHP端採用了標準的構造Facebook驗證和隨後的Ajax調用:效率和緩存

function facebook() 
{ 

    return new Facebook(
     array(
      'appId' => getSetting("fb:app_id"), 
      'secret' => getSetting("fb:secret") 
      ));; 
} 

現在,我的理解是,這是應當和可能採取的所有訪問令牌緩存等護理那麼,爲什麼後來AJAX調用回我的服務器應用程序(然後再做FB認證) 花了這麼長時間?我確實需要在每個頁面訪問時重新創建Facebook對象嗎?它應該通過自己的會話管理來保證效率?

或者我錯誤地接近它?我應該這樣做一次,以確定諸如用戶FB ID(然後我用於應用程序特定的身份驗證)的事情,然後通過ajax回叫通知服務器登錄/註銷,以便我的服務器知道FB的狀態?希望這會產生某種感覺!

+0

嗯,簡單地說:不要在每次回電時進行身份驗證。 PHP Auth過程需要很長時間 - 它似乎沒有做任何智能緩存。所以我只監視狀態變化,並通過ajax調用PHP,然後在PHP端對其頁面生命週期進行身份驗證/解除身份驗證後緩存狀態,以避免從客戶端假裝保存/刪除等管理員權限。 – RichieHH

回答

0

需要緩存在PHP端,而不是在每次回撥時重新認證。