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.
]
我必须为移动应用程序实现一些 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.
]