当前位置:  开发笔记 > 编程语言 > 正文

在Django Rest Framework + Django Social Auth中与Facebook联系

如何解决《在DjangoRestFramework+DjangoSocialAuth中与Facebook联系》经验,为你挑选了3个好方法。

我正在使用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吗?

提前致谢



1> Hugo Sequeir..:

您现在可以使用此库https://github.com/,使用来自任何python-social-auth后端(Facebook,Google,Github等)的持有令牌/第三方访问令牌,针对您的django-rest-framework对您的用户进行身份验证PhilipGarnero/Django的休息框架,社会的oauth2

该模块为django-rest-framework提供了python-social-auth和oauth2支持.因此,这为您节省了大量时间来设置使用社交授权获得DRF以及OAuth2安全所需的内容.



2> 小智..:

我认为你可以使用django rest框架,django-rest-auth和allauth来实现.这三个人在一起很好.

有了django休息框架,你已经熟悉了.

该allauth负责社会认证.

在Django的休息-auth的负责创造社会认证RESTful的API,即Django的REST的框架和allauth之间的连接.


同意@XciA,特别是django-rest-auth的文档非常少,很难理解如何进行社交认证。

3> Kevin Brown..:

建议您python-social-auth为自己处理Facebook登录,而是使用另一个用于Django REST Framework的OAuth插件来使用Django进行身份验证.这还具有通过标准Django身份验证系统支持非Facebook登录的额外好处.

我对使用Django Social Auth和Django Rest Framework for ios设备感到困惑.

我最近回答了一个关于用python-social-authDjango 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.

推荐阅读
360691894_8a5c48
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有