我正在使用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吗?
提前致谢
答案 0 :(得分:15)
现在,您可以使用此库https://github.com/PhilipGarnero/django-rest-framework-social-oauth2使用来自任何python-social-auth后端(Facebook,Google,Github等)的持有令牌/第三方访问令牌,针对您的django-rest-framework对您的用户进行身份验证
该模块为django-rest-framework提供了python-social-auth和oauth2支持。因此,这为您节省了大量时间来设置使用社交授权获得DRF以及OAuth2安全所需的内容。
答案 1 :(得分:8)
我认为您可以使用django rest framework,django-rest-auth和allauth来实现这一目标。 这三个人在一起工作很好。
答案 2 :(得分:5)
建议您让python-social-auth
为您处理Facebook登录,而是使用另一个用于Django REST Framework的OAuth插件来验证Django。这还有通过标准Django身份验证系统支持非Facebook登录的额外好处。
我对使用Django Social Auth和Django Rest Framework for ios设备感到困惑。
我最近answered a similar question关于使用python-social-auth
和Django REST Framework实现身份验证。它包含了一些重要的要点,可以在使用第三方实施身份验证时阅读,以及一些关于您不应该将第三方OAuth令牌传递回客户端的重要说明。
我怎么能一起使用这些包?
虽然该答案明确提到使用OAuth作为python-social-auth
后面的API的身份验证方法,但您可以使用内部使用Django身份验证系统的其他身份验证方法,例如TokenAuthentication
。在任何情况下,您最终都会使用后端API代理前端应用程序与第三方身份验证提供程序之间的身份验证。
facebook与spa和移动设备有什么不同?
Facebook提供与某些移动操作系统的直接集成,最值得注意的是iOS和Android。这会绕过您的API进行身份验证,并使用Facebook直接验证您的移动应用程序。理想情况下,它将验证您的后端API而不是移动应用程序。如果您将访问令牌手动传递回API,仍然可以执行此操作,基本上执行python-social-auth
将要执行的操作,但可能存在风险,可能不是值得付出额外的努力。
python-social-auth
。
我可以从django-social-auth迁移到python-social-auth吗?
这不应该是一个问题,因为python-social-auth
已经有效地取代了django-social-auth
。