registration/login 用户的 Django REST Framework 和 python-social-auth

Django REST Framework and python-social-auth for registration/login user

我必须为移动应用程序实现一些 REST api。

我会使用 Django REST 框架。

用户(手机端)只能使用Facebook注册账号,我会使用python-social-auth进行注册/登录。

我是新手,所以我看了很多关于它的教程/文档/示例。

我只找到了关于 Django + python_social_auth 的完整教程,但我想确切地知道使用 REST-api.

进行用户注册/登录的最佳实践

在哪里可以找到完整的示例?

在我的简单测试中我也遇到了一个问题: 当我尝试使用这个例子时:

@psa('social:complete')
def register_by_access_token(request, backend):
    # This view expects an access_token GET parameter, if it's needed,
    # request.backend and request.strategy will be loaded with the current
    # backend and strategy.
    token = request.GET.get('access_token')
    user = request.backend.do_auth(request.GET.get('access_token'))
    if user:
        login(request, user)
        return 'OK'
    else:
        return 'ERROR'

我得到这个错误:

u'social' is not a registered namespace

我也试过在我的设置中添加这个 SOCIAL_AUTH_URL_NAMESPACE = 'myApp' 但它没有解决问题。

如果还不算太晚,那么为什么不使用 https://github.com/pennersr/django-allauth and https://github.com/Tivix/django-rest-auth,它们旨在协同工作并简化基于 API 的(社交)登录/注销/密码重置令牌/从令牌重置密码等流程.

我知道用户已经选择了一个答案,但由于该答案会将我们带到另一个图书馆,这里是我的答案,以备日后有人需要:

"social" 是您必须为 python-social-auth 提供的网址提供的名称空间。您必须在项目的 urls.py:

的 urlpatterns 列表中包含如下一行
urlpatterns = [
    url(r'^social/', include('social.apps.django_app.urls', namespace="social")
    # All other remaining urls here.
]