Django休息框架社会oauth2

时间:2016-07-25 10:06:20

标签: django rest authentication django-rest-framework

我正在尝试使用django为iOS应用程序创建一个API(前端会很快。)我对这个主题没有多少经验,所以当他们想要我进行注册/登录时,我立即搜索了文档和发现了这个。

https://github.com/PhilipGarnero/django-rest-framework-social-oauth2

在安装过程中,我做了一切完全相同的事情直到

REST_FRAMEWORK = {
    ...
    'DEFAULT_AUTHENTICATION_CLASSES': (
        ...
        'oauth2_provider.ext.rest_framework.OAuth2Authentication',
        'rest_framework_social_oauth2.authentication.SocialAuthentication',
    ),
}
AUTHENTICATION_BACKENDS = (
    ...
   'rest_framework_social_oauth2.backends.DjangoOAuth2',
   'django.contrib.auth.backends.ModelBackend',
)

我在这里挣扎的原因是我没有任何

REST_FRAMEWORK = {  } and AUTHENTICATION_BACKENDS = ( ) in my settings.py

我应该手动将它们添加到settings.py吗? 在github代码中,setings.py如下。

from django.conf import settings

PROPRIETARY_BACKEND_NAME = getattr(settings, 'PROPRIETARY_BACKEND_NAME', "Django")

我应该这样做,还是可以使用那长代码保存我的settings.py?

1 个答案:

答案 0 :(得分:0)

如果您的计划仅使用restframework进行正常注册,并在登录时提供令牌。

您可以使用'rest_framework.authentication.TokenAuthentication' 在REST_FRAMEWORK中,对于AUTHENTICATION_BACKENDS使用'django.contrib.auth.backends.ModelBackend',这意味着您正在使用django身份验证来进行身份验证并提供restframework令牌以进行进一步的通信,从您通信的那一刻开始使用该令牌和标头。