我们正在构建需要REST API后端并与Facebook集成进行身份验证的移动应用程序(iOS和Android)。
我仍然对这种用例的最佳架构设计感到困惑。
主要问题:谁负责使用Facebook,客户端或服务器进行身份验证/授权?
选项A:客户端对FB进行身份验证。客户端使用从Facebook收到的令牌发送请求。服务器使用该令牌来识别用户。
选项B:服务器代表客户端向FB进行身份验证。
附加说明(可能与否相关):
答案 0 :(得分:2)
你应该选择A。
如果您使用的是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会在他们身边进行身份验证,而不是你,尽管你可能想将用户的令牌存储在数据库中。