从使用 Github 的登录用户获取电子邮件

Getting email from LoggedIn user with Github

我已经使用 Django-allauth 成功设置 Django 以注册 Github 但即使在设置范围内并要求 ,它也不会将用户的电子邮件地址存储在数据库中。

这是设置块:

SOCIALACCOUNT_PROVIDERS = {
    'github': {
        'SCOPE': [
            'user',
            'emails',
            'repo',
            'read:org',
        ],
    }
}

ACCOUNT_EMAIL_REQUIRED = True

是否还有任何配置需要执行或我做错了什么?

我找到了答案。 Django-allauth 通过访问额外数据来提供电子邮件。

from allauth.socialaccount.models import SocialAccount

SocialAccount.objects.all()

在 settings.py 中添加这一行,它将正常工作

SOCIALACCOUNT_QUERY_EMAIL = True