0

我正在使用django和django-allauth。我可以使用Facebook提供程序成功驗證用戶身份。問題是創建的用戶對象的所有字段都是空的(名字,姓氏和電子郵件)以及設置爲'user'的用戶名(我假設它是生成器的默認值)。我也有這樣的用戶,它在額外的數據字段中鍵入以下數據相關聯的社交帳戶對象:使用django allauth時提供空用戶字段facebook提供商

{"name": "my_first_name my_second_name", "id": "my_uuid"} 

我檢查重寫SocialAccountAdapter populate_user function但數據參數包含一本字典,其中姓,姓名和電子郵件爲空。

搜索了代碼,在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' 
    } 
} 

編輯:我添加字段設置由威基德的建議,但沒有從v.021進步有

+0

您可以搜索Stackoverflow,因爲每天至少會問這個問題一次。你需要在查詢Facebook時指定你想要的字段。 – WizKid

+0

@WizKid我在發帖之前做過搜索...如果它有重複,我很抱歉。我會再次搜索 – garcianavalon

+0

唯一類似的問題,我可以找到http://stackoverflow.com/questions/24326725/django-allauth-not-saving-custom-form我會嘗試解決方案今天下午,看看它是否工作爲我的問題 – garcianavalon

回答