Facebook集成移动应用程序与后端REST API

时间:2016-02-16 02:41:39

标签: android ios django facebook

我们正在构建需要REST API后端并与Facebook集成进行身份验证的移动应用程序(iOS和Android)。

我仍然对这种用例的最佳架构设计感到困惑。

主要问题:谁负责使用Facebook,客户端或服务器进行身份验证/授权?

选项A:客户端对FB进行身份验证。客户端使用从Facebook收到的令牌发送请求。服务器使用该令牌来识别用户。

选项B:服务器代表客户端向FB进行身份验证。

附加说明(可能与否相关):

  • 我正在使用Django开发REST API部分。
  • 该应用需要访问用户的Facebook好友,以便我们邀请他们使用该应用。

2 个答案:

答案 0 :(得分:2)

你应该选择A。

  • 与客户进行身份验证。然后您将收到一个访问令牌。
  • 将此令牌发送到服务器。
  • 现在您可以创建用户,获取FB好友以及您可能需要的所有其他用户。

如果您使用的是django-rest-framework,您应该查看django-rest-auth软件包。它使用访问令牌处理服务器端的用户登录/创建。

https://django-rest-auth.readthedocs.org/en/latest/installation.html#social-authentication-optional

答案 1 :(得分:0)

您可以查看Facebook SDK for Python,它应该告诉您如何将其合并到您的应用中,并展示如何与几个框架here集成(Flask类似于django) )。

Facebook会在他们身边进行身份验证,而不是你,尽管你可能想将用户的令牌存储在数据库中。