簡體   English   中英

用於注冊/登錄用戶的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'不是注冊的命名空間

我還嘗試在我的設置中添加此SOCIAL_AUTH_URL_NAMESPACE = 'myApp' ,但它無法解決問題。

如果還為時不晚,那么為什么不使用https://github.com/pennersr/django-allauthhttps://github.com/Tivix/django-rest-auth ,它們可以協同工作並簡化基於API的操作(社交)登錄/注銷/密碼重置令牌/密碼重置從令牌等流程。

我知道用戶已經選擇了答案,但由於答案將我們引導到另一個庫,這是我的答案,以防有人稍后需要它:

“social”是您必須為python-social-auth提供的URL提供的命名空間。 您必須在項目的urls.py的urlpatterns列表中包含以下行:

urlpatterns = [
    url(r'^social/', include('social.apps.django_app.urls', namespace="social")
    # All other remaining urls here.
]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM