Аутентификация 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]

работа для меня.

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