2011-08-15 50 views
4

使用GAE,Python和JS的混合我已經成功地創建了一個連接到facebooks API的應用程序。只有一個障礙:在我的應用程序 - 我檢查的第一件事是,如果Facebook的cookie存在:使用JS + Python延遲查找facebook cookie

cookie = facebook.get_user_from_cookie(self.request.cookies, 
             FACEBOOK_APP_ID, 
             FACEBOOK_APP_SECRET) 
if cookie: 
    {render index.html} 

else: 
    {render login.html} 

在我登錄處理程序我再次檢查一個cookie(相同codestructure),以避免人誰不有cookie訪問此頁面。這按設計工作。

唯一的問題是,當一個cookie確實存在時,似乎有一些延遲檢測到這一點。因此,日誌雲:索引處理程序

  • 餅乾沒有找到,重定向到登錄處理程序
  • 登錄處理程序提請登錄-HTML
  • 餅乾在登錄處理程序發現,重定向到索引處理程序
  • 索引處理程序繪製折射率HTML

這是清晰可見給最終用戶時,loginscreen平然後,第二左右後,正確indexscreen繪製。

這種延遲的原因是什麼?我想知道是否由於Cookie傳輸到服務器而導致它的產生?如果是這樣,如何編碼?用戶進行身份驗證在Facebook上只後,重新回到您的應用程序和Javascript API方法FB.init()cookie: true執行

回答

0

餅乾fbsr_<application_id>將被設置。

FB.init({ 
    appId : '<application_id>', 
    status : true, 
    cookie : true, 
    //... 

換句話說,在用戶被重定向回您的應用程序後,cookie不會立即設置。