Социальная аутентификация из drf_social_oauth2 : ошибка с django.urls.exceptions.NoReverseMatch: 'social' не является зарегистрированным пространством имен

Я разрабатываю новое приложение со стеком Angular и Django Rest Framework.

В моем API я использую drf_social_oauth2 для социальной аутентификации. Обмен токенами проходит успешно. Токены и пользователи созданы в базе данных.

Однако аутентификация для других представлений проходит неудачно.

Я использую этот тип authentication_classes в своих других представлениях :

from rest_framework import authentication
from drf_social_oauth2.authentication import SocialAuthentication

class UsersListApiView(APIView):
    authentication_classes = [authentication.TokenAuthentication, SocialAuthentication]

Мои URL:

path('auth/login/', obtain_auth_token, name='login'),
path('auth/', include('dj_rest_auth.urls')), 
path('auth/registration/', include('dj_rest_auth.registration.urls')),
re_path(r'^auth/', include('drf_social_oauth2.urls', namespace='drf')),

Это часть моего файла settings.py :

AUTHENTICATION_BACKENDS = [
    # Google OAuth2
    'social_core.backends.google.GoogleOAuth2',
    
    # Facebook OAuth2
    'social_core.backends.facebook.FacebookAppOAuth2',
    'social_core.backends.facebook.FacebookOAuth2',
    
    # drf_social_oauth2
    'drf_social_oauth2.backends.DjangoOAuth2',
    
    # DJango
    'django.contrib.auth.backends.ModelBackend',
]

# Facebook configuration
SOCIAL_AUTH_FACEBOOK_KEY = ''
SOCIAL_AUTH_FACEBOOK_SECRET = ''

# Define SOCIAL_AUTH_FACEBOOK_SCOPE to get extra permissions from Facebook.
# Email is not sent by default, to get it, you must request the email permission.
SOCIAL_AUTH_FACEBOOK_SCOPE = ['email']
SOCIAL_AUTH_FACEBOOK_PROFILE_EXTRA_PARAMS = {
    'fields': 'id, name, email'
}

# Google configuration
SOCIAL_AUTH_GOOGLE_OAUTH2_KEY = ""
SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET = ""

# Define SOCIAL_AUTH_GOOGLE_OAUTH2_SCOPE to get extra permissions from Google.
SOCIAL_AUTH_GOOGLE_OAUTH2_SCOPE = [
    'https://www.googleapis.com/auth/userinfo.email',
    'https://www.googleapis.com/auth/userinfo.profile',
]
REST_FRAMEWORK = {
    'DEFAULT_SCHEMA_CLASS':'rest_framework.schemas.coreapi.AutoSchema',
    'DEFAULT_AUTHENTICATION_CLASSES': [
        'rest_framework.authentication.SessionAuthentication',
        'oauth2_provider.contrib.rest_framework.OAuth2Authentication',
        'drf_social_oauth2.authentication.SocialAuthentication',
        'rest_framework.authentication.TokenAuthentication',
    ],
    'DEFAULT_PERMISSION_CLASSES': (
        'rest_framework.permissions.IsAuthenticated',
    ),
}
SITE_ID = 2

Когда я вызываю представление с классом SocialAuthentication и носителем авторизации, который я получил из URL convert-token (как Authorization: Bearer facebook <token>), у меня возникает ошибка такого типа :

django.urls.exceptions.NoReverseMatch: 'social' is not a registered namespace

Так, я не понимаю, почему я имею этот тип ошибки, только на URL, который я вызываю с этим типом Bearer.

Спасибо

Вернуться на верх