使用OAuth2进行Django Rest Framework身份验证

时间:2015-04-03 00:07:28

标签: django facebook rest django-rest-framework python-social-auth

假设我想构建一个使用RESTful API作为后端的iOS应用。

我想使用Django Rest Framework。原因有三:

  1. Python非常棒
  2. Django很棒
  3. Django Rest Framework很受欢迎且记录良好
  4. 我的应用需要对用户进行身份验证,以控制对不同API端点的访问。我需要通过

    验证我的客户
    • 我自己的OAuth2提供商
    • 第三方OAuth2提供商(例如Facebook)

    我发现Django Oauth Toolkit是创建自己的OAuth2提供商的事实标准。与Django Rest Framework is well documented too的集成并且易于实现。

    到目前为止一切顺利。

    现在如果我想通过第三方添加注册/登录? (Facebook,Twitter等)。

    我想这就是过程的样子。

    Auth through 3rd party providers

    没有第三方

    Auth through own OAuth provider

    我想我需要将社交帐户令牌添加到用户模型(用于重新验证和与第三方APIS交互)。 Django-allauth这样做,我在我的一个项目中使用它,但遗憾的是django-allauth似乎不适合当前的用例,因为Django不提供客户端。

    那么有没有办法(一个应用程序)轻松地将社交媒体登录/注册与Django Rest Framework和Django OAuth Toolkit集成?我遇到了Python Social Auth,但我不确定如何将它与Django Oauth Toolkit混合使用。

    我是在正确的道路上吗?

    您如何使用Django实现这样的身份验证架构/流程?

    由于

0 个答案:

没有答案