android - 如何使用 facebook 登录从 Android 应用程序中的后端服务器访问数据?

标签 android facebook facebook-graph-api

我正在开发一个应用程序,在该应用程序中,我必须使用 Facebook 登录才能从我的后端服务器访问数据。我搜索了这个并得到了那个:

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

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

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

最佳答案

我不确定这是否是最佳实践,但我就是这样做的。

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

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

然后您可以将此 token 作为 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)

关于android - 如何使用 facebook 登录从 Android 应用程序中的后端服务器访问数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15497477/

相关文章:

java - 访问 postgresql 数据库时出现 NetworkOnMainThreadException

php - FB SDK 和 cURL : Unknown SSL protocol error in connection to graph. facebook.com:443

ios - 在哪里设置 Facebook 应用程序的 "shared via"文本

java - 使我的内容在 Facebook 墙上看起来不错,同时通过 Java 中的应用程序发布

ios - Facebook iOS SDK 返回错误 "com.facebook.sdk error 4"

iphone - iOS 中的安全警告 :"Please treat the URL above as you would your password and do not share it with anyone.

Android 应用程序在 AsyncTask 上崩溃以将 http 发布到服务器

android - 是否可以使用adb协议(protocol)从android手机发送短信

java - 如何在 JNI 调用中使用全局引用

javascript - 未捕获( promise ): TypeError: Cannot read property 'apply' of undefined in ionic 2 app