2012-05-22 90 views
1

我正在開發Android應用程序,用戶可以使用他的Facebook帳戶登錄。另外,我想在mysql數據庫中存儲用戶的一些輸入。在服務器端,我知道會檢查用戶是否使用Facebook登錄過(出於安全風險),以便只有使用Facebook登錄的用戶才能訪問數據庫。我將如何管理這個? Facebook身份驗證對我來說不成問題,但我沒有解決方案來檢查我網站上的登錄狀態。謝謝你的幫助!Android +網站/服務器上的Facebook身份驗證

回答

0

您需要保存/共享AccessToken。考慮訪問令牌,如PHP中的會話ID。

在PHP中,使用SDK,您需要getAccessToken()和setAccessToken()函數(也告訴Facebook API不要使用cookie),並且您可以共享此值。

對於手機,我沒有在Android Java中使用Facebook Auth,但是我已經爲手機使用了Titanium,並且調用方式完全相同(Titanium.Facebook.getAccessToken)。當你將它傳遞迴PHP時,工作非常順利。 Facebook Java SDK在Facebook類中也有

public String getAccessToken() {  return mAccessToken; } 
public void setAccessToken(String token) {  mAccessToken = token;  mLastAccessUpdate = System.currentTimeMillis(); } 

。所以你需要使用這些調用或你正在使用的Android SDK。

  • 警告:在PHP SDK Facebok的一個缺陷是,如果你叫「setAccessToken」具有無效令牌(這是常見的),並且你沒有使用Cookie,然後Facebook的API將刪除所有的會話數據。如果你使用其他會話,你需要知道這一點。