android - 带有后端 REST API 的移动应用程序的 Facebook 集成

标签 android ios django facebook

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

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

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

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

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

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

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

最佳答案

你应该选择选项 A。

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

如果你正在使用 django-rest-framework,你应该看看 django-rest-auth 包。它使用访问 token 在服务器端处理用户登录/创建。

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

关于android - 带有后端 REST API 的移动应用程序的 Facebook 集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35422727/

相关文章:

python - 如何在前端表单中使用 django-wysihtml5?

android - 不要重复菜单代码

java - 在具有多个参数类型约束的 Kotlin 中调用具有泛型类型的方法

iphone - OpenGL ES 2D - z 顺序、深度缓冲区与按顺序绘制

python - virtualenv - ModuleNotFoundError : No module named 'django' ?

Django REST 框架 - 多个模型/API?

java - fragment 已添加到 Activity 但不显示

java - 无法下载在 Google Play 上发布的测试版 APK

ios - Xcode 6.0 中头文件被错误更改并卡在模拟器上运行

iphone - 添加小数点后的字典上的ios双引号