我正在使用Django Social Auth连接Facebook问题,它完美无缺.我已经使用Django Rest Framework为我的django应用程序开发了一个API .但我对使用Django Social Auth和Django Rest Framework for ios设备感到困惑.我已经搜索1,2,3和4,但它们通常是具有角JS.我不熟悉ios开发.
facebook与spa和移动设备有什么不同?我怎么能一起使用这些包?我可以从django-social-auth迁移到python-social-auth吗?
提前致谢
您现在可以使用此库https://github.com/,使用来自任何python-social-auth后端(Facebook,Google,Github等)的持有令牌/第三方访问令牌,针对您的django-rest-framework对您的用户进行身份验证PhilipGarnero/Django的休息框架,社会的oauth2
该模块为django-rest-framework提供了python-social-auth和oauth2支持.因此,这为您节省了大量时间来设置使用社交授权获得DRF以及OAuth2安全所需的内容.
我认为你可以使用django rest框架,django-rest-auth和allauth来实现.这三个人在一起很好.
有了django休息框架,你已经熟悉了.
该allauth负责社会认证.
在Django的休息-auth的负责创造社会认证RESTful的API,即Django的REST的框架和allauth之间的连接.
建议您python-social-auth
为自己处理Facebook登录,而是使用另一个用于Django REST Framework的OAuth插件来使用Django进行身份验证.这还具有通过标准Django身份验证系统支持非Facebook登录的额外好处.
我对使用Django Social Auth和Django Rest Framework for ios设备感到困惑.
我最近回答了一个关于用python-social-auth
Django REST Framework 实现身份验证的类似问题.它包含了一些关于使用第三方实现身份验证时的重要内容,以及一些关于如何不将第三方OAuth令牌传递回客户端的重要说明.
我怎么能一起使用这些包?
虽然该答案特别提到使用OAuth作为后面的API的身份验证方法,但python-social-auth
您可以使用内部使用Django身份验证系统的其他身份验证方法,例如TokenAuthentication
.在任何情况下,您最终都将使用后端API代理前端应用程序与第三方身份验证提供程序之间的身份验证.
facebook与spa和移动设备有什么不同?
Facebook提供与某些移动操作系统的直接集成,最着名的是iOS和Android.这会绕过您的API进行身份验证,并使用Facebook直接验证您的移动应用程序.理想情况下,它将验证您的后端API而不是移动应用程序.如果您将访问令牌手动传递回API,这可能仍然可以做到,基本上做同样的事情python-social-auth
,但这可能有风险,可能不值得额外的努力.
Facebook Connect(现在称为Facebook登录)的工作方式与Facebook集成在移动设备上的工作方式类似.可能对您有利的一个区别是,从单一页面应用程序的Facebook登录转移到基于OAuth的身份验证模式非常容易.这在Facebook开发人员文档中记录为"手动构建登录流程",并与支持基于OAuth的登录的库兼容,例如python-social-auth
.
我可以从django-social-auth迁移到python-social-auth吗?
这不应该是一个问题,因为python-social-auth
已经有效地取代了django-social-auth
.