7

我正在开发一个应用程序,在该应用程序中,我必须使用 facebook 登录来访问后端服务器的数据。我对此进行了搜索并得到了:

  1. 首先,用户将输入 facebook 的用户名和密码,然后请求转到服务器。
  2. 如果用户通过身份验证,则获取用户的访问令牌。
  3. 在服务器上发送此访问令牌。
  4. 服务器将验证此访问令牌。

我已成功将我的应用程序与 facebook 连接,即现在用户可以从我的应用程序登录到 facebook。但是我现在不知道如何获取用户的访问令牌以及如何在服务器上验证此访问令牌。

你能为我提供一些示例代码吗?请帮助我,我被困了很长时间。

4

2 回答 2

1

我不确定这是否是最佳做法,但这就是我的做法。

当您通过任何 SDK 在客户端设备上登录 Android 用户时,您将获得一个用户访问令牌。可以通过以下方式访问令牌

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

然后,您可以将此令牌作为 POST 变量传递给后端:

'access_token': '32b409xceBV78d2932b409xceBV78d29'

使用后端 SDK,您可以再次获取用户信息。这是python中的一个例子

facebook_graph = facebook.GraphAPI(access_token)

如果电子邮件和 fbid 与存储在数据库中的用户信息匹配,则您授予访问权限:

user = get_user(email=facebook_graph['email'], fbid=facebook_graph['fbid'])
login(request, user)
于 2015-08-29T17:31:40.187 回答
0

要访问 facebook 用户的数据,您必须获得权限,以下链接可能对您有用。只需检查一下... https://developers.facebook.com/docs/howtos/androidsdk/3.0/fetch-user-data/

于 2013-03-19T11:44:36.243 回答