Django ImportError: модуль social_core.backends.google не определяет атрибут / класс GoogleOpenId.

Я клонировал свое рабочее приложение Django в дистрибутив Linux на основе Debian, я установил все зависимости, но при попытке войти в систему с помощью электронной почты и пароля или учетной записи Google возникает следующая ошибка:

      ImportError: Module "social_core.backends.google" does not define a "GoogleOpenId" attribute/class

У меня есть следующие зависимости для аутентификации:

      django-allauth==0.42.0
django-rest-auth==0.9.5
google-auth==1.27.0
oauthlib==3.1.0
requests-oauthlib==1.3.0
social-auth-app-django==3.1.0
social-auth-core==4.0.3

Он хорошо работал в Ubuntu и MacO, проблема появилась при клонировании этого дистрибутива на основе Debian. Google ничего не говорит об этой ошибке, и я не знаю, с чего начать поиск, единственное, что я обнаружил, это то, что мы используем его в качестве бэкэнда аутентификации:

      AUTHENTICATION_BACKENDS = (
    'social_core.backends.open_id.OpenIdAuth',
    'social_core.backends.google.GoogleOpenId', 
    'django.contrib.auth.backends.ModelBackend'
)

2 ответа

Благодаря комментарию, объясняющему устаревание python-social-auth, Ive решил проблему, понизив версию social-auth-core пакет из версии 4.0.3 к 3.3.3:

GoogleOpenID больше не используется, поэтому он был удален из python-social-auth. Но они, должно быть, забыли обновить документы.

https://github.com/python-social-auth/social-core/issues/472

https://github.com/python-social-auth/social-docs/issues/65

Другие вопросы по тегам