2016-01-21 46 views
0

我的解析應用遇到問題。我有Facebook鏈接當前匿名用戶的功能。FB登錄後無效的解析會話令牌

在AppDelegate的文件,我有這個功能:

if (PFUser.currentUser() == nil) { 
    PFAnonymousUtils.logInInBackground() 
} else if (PFUser.currentUser() != nil && PFFacebookUtils.isLinkedWithUser(PFUser.currentUser()!)) { 
    PFFacebookUtils.logInInBackgroundWithAccessToken(FBSDKAccessToken.currentAccessToken()) 
} 

但當前用戶的Facebook登錄/鏈接,在接下來的幾個應用程序啓動後,錯誤209被接收。

我幾乎讀了所有這些問題,但沒有解決我的問題。

當用戶點擊Facebook登錄按鈕:

if PFFacebookUtils.isLinkedWithUser(PFUser.currentUser()!) { 
     PFFacebookUtils.linkUserInBackground(PFUser.currentUser()!, withReadPermissions: permissions, block: { (success: Bool, error: NSError?) -> Void in 
      if success.boolValue { 
       PFFacebookUtils.linkUserInBackground(PFUser.currentUser()!, withAccessToken: FBSDKAccessToken.currentAccessToken()) 
       self.obtainFacebookProfile() 
      } 
     }) 
    } else { 
     PFFacebookUtils.logInInBackgroundWithReadPermissions(permissions, block: { (user: PFUser?, error: NSError?) -> Void in 
      if error != nil { 
       return 
      } 

      if user != nil { 
       PFFacebookUtils.linkUserInBackground(user!, withAccessToken: FBSDKAccessToken.currentAccessToken()) 
       self.obtainFacebookProfile() 
      } 
     }) 
    } 

我在我的Android應用程序相同的實現並沒有這樣的問題...

回答

0

我想我要解決這個問題擺脫AppDelegate類中的Facebook登錄。由於當前用戶已經與Facebook配置文件鏈接,因此無需在應用程序啓動時再次執行此操作,因爲它會生成新的會話令牌。問題是,也許Parse不能在下一個數據請求之前更新數據庫中的會話令牌。

+0

我遇到了同樣的問題,很明顯,在令牌過期後,解析不會更新用戶表中的令牌。你能解釋一下如何解決這個問題嗎?我可以通過FBSDK獲取新的FB令牌,但Parse仍不會更新用戶表中的條目 –

相關問題