Автоматическое подключение социальной учетной записи Django allauth

У меня есть сайт, поддерживаемый Django-allauth, с устаревшими локальными пользователями, большинство из которых в конечном итоге должны подключиться к social login при следующем входе в систему, когда бы это ни произошло. Единственным поддерживаемым поставщиком социальных сетей является Microsoft Graph. Все электронные письма от провайдера должны рассматриваться как подтвержденные, и в случае, если они соответствуют какому-либо существующему пользователю, они также рассматриваются как один и тот же пользователь без дополнительной проверки.

Соответствующие настройки allauth, как показано ниже:

ACCOUNT_LOGIN_METHODS = {"email"}
ACCOUNT_USER_MODEL_USERNAME_FIELD = None
SOCIALACCOUNT_PROVIDERS = {
    "microsoft": {
        "EMAIL_AUTHENTICATION_AUTO_CONNECT": True,
        "EMAIL_AUTHENTICATION": True,
        "EMAIL_VERIFICATION": False,
        "VERIFIED_EMAIL": True,
        "APPS": [
            #client id, secret masked
        ]
    }
}

Вход в систему с учетной записью социальной сети, у которой зарегистрирован адрес электронной почты (и который должен быть подключен при входе в систему), работает, но подключенная социальная учетная запись не создается.

Вход в систему с учетной записью социальной сети без участия существующего пользователя создает нового пользователя с соответствующей учетной записью социальной сети, как ожидалось и желалось.

Если я напишу свои собственные перехватчики для настроенного SocialAccountAdapter (или добавлю приемники к сигналам allauth), я смогу достичь своей цели, но, по крайней мере, согласно моей интерпретации документации allauth, это кажется немного халтурным и не похоже на предполагаемый способ в текущей версии. версия.

Версия Allauth - 65.7.0

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