Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/122.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Facebook与后端REST API的移动应用程序集成_Android_Ios_Django_Facebook - Fatal编程技术网

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

Android Facebook与后端REST API的移动应用程序集成,android,ios,django,facebook,Android,Ios,Django,Facebook,我们正在构建移动应用程序(iOS和Android),这些应用程序需要RESTAPI后端并与Facebook集成以进行身份验证 对于这种用例,我仍然不清楚什么是最好的架构设计 主要问题:谁负责通过Facebook、客户端或服务器进行身份验证/授权? 选项A:客户端向FB进行身份验证。客户端使用从Facebook收到的令牌发送请求。服务器使用该令牌标识用户 选项B:服务器代表客户端向FB进行身份验证 其他注释(可能相关或不相关): 我正在使用Django开发RESTAPI部分 该应用程序需要访问用

我们正在构建移动应用程序(iOS和Android),这些应用程序需要RESTAPI后端并与Facebook集成以进行身份验证

对于这种用例,我仍然不清楚什么是最好的架构设计

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

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

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

其他注释(可能相关或不相关):

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

您可以看看,它应该告诉您如何将其整合到应用程序中,并说明如何与一些框架集成(Flask在这方面与django类似)


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

你应该选择选项a

  • 与客户端进行身份验证。然后您将收到一个访问令牌
  • 将此令牌发送到服务器
  • 现在,您可以创建用户、获取FB好友以及您可能需要的所有其他内容
如果您使用的是django rest框架,那么应该看看django rest auth包。它使用访问令牌在服务器端处理用户登录/创建


如果我在服务器端这样做,那么服务器需要询问用户的Facebook凭据,对吗?然后将其发送到FB进行身份验证。您的rest api是否也支持通过电子邮件登录?您还打算在facebook上实现哪些其他选项(获取用户的好友列表等)?@MuchOverflow目前,登录仅限于facebook。我们还需要将内容分享给用户的Facebook好友。有一个很好的解释为什么选项B是更好的