Аутентификация Google не отображается в проекте Django
Тело:
Я пытаюсь настроить аутентификацию Google в моем проекте Django с помощью django-allauth, но опция входа в Google не отображается на странице входа. Я подозреваю, что, возможно, пропущен какой-то шаг или параметр конфигурации.
Я подтвердил правильность идентификатора сайта, проверив ссылку: http://127.0.0.1:8000/admin/sites/site/3/change/
Может ли кто-нибудь помочь мне определить, что я могу упустить или сделать неправильно?
Вот соответствующие части моего файла 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',
],
},
},
]
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-incompatible-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]
работа для меня.