Akamee
Akamee

Reputation: 593

Could not import 'oauth2_provider.ext.rest_framework.OAuth2Authentication' for API setting 'DEFAULT_AUTHENTICATION_CLASSES'

It's the first time I work with django rest and Django Oauth toolkit I'm following this tutorial oauth2-with-django-rest-framework But when I run python manage.py migrate I get the following error:

ImportError: Could not import 'oauth2_provider.ext.rest_framework.OAuth2Authentication' for API setting 'DEFAULT_AUTHENTICATION_CLASSES'. ImportError: No module named ext.rest_framework.

What is going wrong ? is there another module I should install ? my virtual environment contains :

certifi==2017.4.17

chardet==3.0.4

Django==1.11.2

django-extensions==1.8.1

django-oauth-toolkit==1.0.0

djangorestframework==3.6.3

idna==2.5

oauthlib==2.0.2

pytz==2017.2

requests==2.18.1

six==1.10.0

Unidecode==0.4.21

urllib3==1.21.1

Upvotes: 19

Views: 9466

Answers (2)

sakulachi8
sakulachi8

Reputation: 310

I was facing same issue. In my setting file DEFAULT_AUTHENTICATION_CLASSES was already 'oauth2_provider.contrib.rest_framework.OAuth2Authentication',

I just installed older version as @Alasdair ask. My issue resolved. thanks

Upvotes: 3

Alasdair
Alasdair

Reputation: 309089

It looks like oath2_provider.ext has been moved to oauth_provider.contrib. You could try installing an older version of django-oauth-toolkit, or try changing the value in DEFAULT_AUTHENTICATION_CLASSES from:

'oauth2_provider.ext.rest_framework.OAuth2Authentication',

to:

'oauth2_provider.contrib.rest_framework.OAuth2Authentication',

Note that the tutorial is a couple of years old, you might find other problems like this.

Upvotes: 49

Related Questions