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

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

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

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

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

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

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

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

最佳答案 你应该选择A.

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

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

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

点赞