我用的是django和django-allauth。我可以使用facebook提供者成功地对用户进行身份验证。问题是,创建的用户对象的所有字段都是空的(名、姓和电子邮件),用户名设置为“user”(我假设这是生成器的默认值)。我还有一个与这个用户关联的社会帐户对象,它在额外的数据字段中有以下数据:
{"name": "my_first_name my_second_name", "id": "my_uuid"}我已经检查过重写SocialAccountAdapter 用户功能,但是数据参数包含一个字典,其中名、姓和电子邮件为空。
搜索代码,在https://github.com/pennersr/django-allauth/blob/master/allauth/socialaccount/providers/base.py#L50中,响应只附带
{"name": "my_first_name my_second_name", "id": "my_uuid"}因此,我假设我与Facebook提供者有某种配置错误。
我的facebook设置:
SOCIALACCOUNT_PROVIDERS = {
'facebook': {
'SCOPE': [
'email',
'public_profile',
'user_friends'
],
'FIELDS': [
'id',
'email',
'name',
'first_name',
'last_name',
'verified',
'locale',
'timezone',
'link',
'gender',
'updated_time'
],
'AUTH_PARAMS': {
#'auth_type': 'reauthenticate'
},
'METHOD': 'oauth2',
#'LOCALE_FUNC': 'path.to.callable',
'VERIFIED_EMAIL': True,
'VERSION': 'v2.4'
}
}编辑:我按照WizKid的建议将字段添加到设置中,但没有进展
发布于 2015-08-15 09:21:58
从v.021升级到v.023解决了这个问题。
https://stackoverflow.com/questions/32014810
复制相似问题