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

das*_*mug 5 django android facebook ios

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

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

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

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

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

附加说明(可能不相关):

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

ils*_*005 4

你应该选择A选项。

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

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

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