Я пытаюсь настроить аутентификацию Google в своем проекте Django с помощью django-allauth, но опция входа в Google не отображается на моей странице входа. Я подозреваю, что мне не хватает шага настройки или настройки.
Я подтвердил правильность идентификатора сайта, проверив ссылку: http://127.0.0.1:8000/admin/sites/site/3/change/
Может ли кто-нибудь помочь мне определить, что я могу упустить или сделать неправильно?
версия Джанго: 3.2 Джанго-Аллаут: версия: 0.62.1
Вот соответствующие части моего файла settings.py:
SOCIALACCOUNT_PROVIDERS = {
"google": {
"app": [
{
"client_id": "myid",
"secret": "mysecret",
},
],
"SCOPE": [
"profile",
"email",
],
"AUTH_PARAMS": {
"access_type": "online",
},
}
}
SITE_ID = 3
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'allauth.account.middleware.AccountMiddleware',
'livereload.middleware.LiveReloadScript',
]
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [TEMPLATES_DIR],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'core.views.site_settings',
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'allauth.account.middleware.AccountMiddleware',
'livereload.middleware.LiveReloadScript',
]
LOGIN_REDIRECT_URL = 'login' # Redirect after login
LOGOUT_REDIRECT_URL = 'home' # Redirect after logout





Убедитесь, что ваш файл settings.py содержит параметр AUTHENTICATION_BACKENDS:
AUTHENTICATION_BACKENDS = [
'django.contrib.auth.backends.ModelBackend',
'allauth.account.auth_backends.AuthenticationBackend',
]
Чтобы поставщик аутентификации Google работал правильно, убедитесь, что вы установили необходимые зависимости: requests и jwt.
https://docs.allauth.org/en/latest/release-notes/recent.html#backwards-inсовместимых-changes
pip install requests
pip install jwt
Подробную инструкцию по настройке вы можете найти в официальной документации.
Обратная несовместимость изменений Зависимости, необходимые для django-allauth, теперь более детализированы. Если вы не используете какие-либо функции учетной записи социальной сети, pip install django-allauth, например, больше не будет использовать зависимости для обработки JWT. Если вы используете функции социальной учетной записи, установите с помощью pip install django-allauth[socialaccount]. Это установит зависимости, охватывающие наиболее распространенные поставщики. Если вы используете провайдера Steam, установите его с помощью pip install django-allauth[socialaccount,steam].
pip install django-allauth[socialaccount]
работай для меня.