Django ImportError: Module "social_core.backends.google" does not define a "GoogleOpenId" attribute/class
Django ImportError: Module "social_core.backends.google" does not define a "GoogleOpenId" attribute/class
我已经将我的工作 Django 应用程序克隆到基于 Debian 的 Linux 发行版中,我已经安装了所有依赖项,但是当尝试使用电子邮件和密码或 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 和 MacOs 中运行良好,在克隆到这个基于 Debian 的发行版时出现了问题。 Google 没有说明这个错误,我不知道从哪里开始搜索,我唯一发现的是我们将它用作身份验证后端:
AUTHENTICATION_BACKENDS = (
'social_core.backends.open_id.OpenIdAuth',
'social_core.backends.google.GoogleOpenId',
'django.contrib.auth.backends.ModelBackend'
)
GoogleOpenID 不再使用,因此已从 python-social-auth 中删除。但是他们一定是忘记更新文档了。
https://github.com/python-social-auth/social-core/issues/472
感谢下面的评论,它解释了 python-social-auth 弃用,我通过将 social-auth-core
包从版本 4.0.3
降级到 [=12= 来解决了这个问题]:
我已经将我的工作 Django 应用程序克隆到基于 Debian 的 Linux 发行版中,我已经安装了所有依赖项,但是当尝试使用电子邮件和密码或 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 和 MacOs 中运行良好,在克隆到这个基于 Debian 的发行版时出现了问题。 Google 没有说明这个错误,我不知道从哪里开始搜索,我唯一发现的是我们将它用作身份验证后端:
AUTHENTICATION_BACKENDS = (
'social_core.backends.open_id.OpenIdAuth',
'social_core.backends.google.GoogleOpenId',
'django.contrib.auth.backends.ModelBackend'
)
GoogleOpenID 不再使用,因此已从 python-social-auth 中删除。但是他们一定是忘记更新文档了。
https://github.com/python-social-auth/social-core/issues/472
感谢下面的评论,它解释了 python-social-auth 弃用,我通过将 social-auth-core
包从版本 4.0.3
降级到 [=12= 来解决了这个问题]: