rest_framework 3.1.1 with OAuth2Authentication

时间:2015-05-13 10:02:55

标签: python django oauth-2.0 django-rest-framework

使用rest_framework 2.4.3我可以使用OAuth2Authentication,因为它是它的一部分,但正如我可以看到here,它已从DRF中删除。我只将它用于请求的令牌验证:

'DEFAULT_AUTHENTICATION_CLASSES': (
    'rest_framework.authentication.OAuth2Authentication',
),

与DRF 3.1.1具有相同功能的正确方法是什么? django-oauth2-provider似乎有点陈旧,也没有按照预期的方式工作(至少我没有在任何地方找到 OAuth2Authenticaion 课程。

我也尝试过安装djangorestframework-oauth(1.0.1),但也一样。

感谢。

1 个答案:

答案 0 :(得分:0)

旧的OAuth2Authentication课程被移出核心并进入djangorestframework-oauth。您只需将设置更改为

即可
'DEFAULT_AUTHENTICATION_CLASSES': (
    'rest_framework_oauth.authentication.OAuth2Authentication',
),

将使用之前在核心中提供的相同类。

推荐的OAuth包是Django OAuth Toolkit,它提供了自己的OAuth身份验证类。其身份验证设置为

'DEFAULT_AUTHENTICATION_CLASSES': (
    'oauth2_provider.ext.rest_framework.OAuth2Authentication',
)

您可以在the Django REST framework documentation中了解更多相关信息。