2013-03-19 49 views
6

我正在一個應用程序中,我必須使用Facebook登錄從我的後端服務器訪問數據。我有這個搜索並得到了:如何使用Facebook登錄從Android應用程序中的後端服務器訪問數據?

  1. 首先,用戶將輸入Facebook的用戶名和密碼,然後請求去服務器。
  2. 如果用戶認證,則獲取用戶的訪問令牌。
  3. 在服務器上發送此訪問令牌。
  4. 服務器將驗證此訪問令牌。

我已經成功連接我與Facebook應用程序即,現在用戶可以從我的應用程序登錄Facebook。但是我現在不知道如何獲取用戶的訪問令牌,以及如何在服務器上驗證此訪問令牌。

你能否爲我提供一些示例代碼。請幫助我,我很長時間陷入困境。

+1

請參閱以下博客的細節討論:https://開頭庫。 launchkit.io/the-right-way-to-implement-facebook-login-in-a-mobile-app-57e2eca3648b#.rc1d91uue。它非常有幫助 – 2016-02-05 06:13:22

+0

同樣的問題在http://stackoverflow.com/questions/12065492/rest-api-for-website-which-uses-facebook-for-authentication但有很好的安道爾 – 2017-02-22 02:24:42

回答

0

我不知道如果這是最好的做法,但這是我如何做到這一點。

當您通過任何SDK在客戶端設備上的Android中登錄用戶時,您將獲得用戶訪問令牌。令牌可以如下

AccessToken token = AccessToken.getCurrentAccessToken(); 
if (token != null) { 
    Toast.makeText(getActivity(), token, Toast.LENGTH_LONG).show(); 
} 

然後,您可以通過此令牌到後端的POST變量訪問:

'access_token': '32b409xceBV78d2932b409xceBV78d29' 

使用後端SDK,您可以再次獲取用戶信息。下面是蟒蛇

facebook_graph = facebook.GraphAPI(access_token) 

如果電子郵件和FBID與存儲在數據庫中的用戶信息的例子,您授予訪問權限:

user = get_user(email=facebook_graph['email'], fbid=facebook_graph['fbid']) 
login(request, user) 
相關問題