在Django中,如果我们使用谷歌oauth,为什么电子邮件地址没有添加到用户模型中



在我的Django应用程序中,我有一个用于登录的谷歌oauth2,所以当用户注册时,first_name、last_name和username会自动添加到User模型中,并且可以通过管理面板查看。但是用户的电子邮件地址没有被添加,为什么会这样当用户使用OAuth注册时,有什么方法可以将电子邮件地址添加到User模型中吗

默认情况下(如果未指定SCOPE(,会请求配置文件范围,也可以根据是否启用SOCIALACCOUNT_QUERY_EMAIL选择电子邮件范围。请参阅django allauth。

可选地,您可以指定要使用的范围如下:

SOCIALACCOUNT_PROVIDERS = {
'google': {
'SCOPE': [
'profile',
'email',
],
'AUTH_PARAMS': {
'access_type': 'online',
}
}
}

有效范围包括:电子邮件、电话、地址、aq:name、aq:location。默认情况下,如果SOCIALACCOUNT_QUERY_EMAIL=True,则请求用户名和电子邮件地址。您可以通过设置SOCIALACCOUNT_EMAIL_VERIFICATION=TrueSOCIALACCOUNT_EMAIL_REQUIRED=True来请求并要求验证电子邮件地址。


更新

另请参阅SOCIALACCOUNT_EMAIL_VERIFICATION的配置。

最新更新