Разработвам уеб приложение на Django, използвайки python-social-auth. Имам това в настройките ми за Django:
SOCIAL_AUTH_GOOGLE_OAUTH2_KEY = "xxx"
SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET = "xxx"
SOCIAL_AUTH_FACEBOOK_KEY = "xxx"
SOCIAL_AUTH_FACEBOOK_SECRET = "xxx"
SOCIAL_AUTH_FACEBOOK_SCOPE = ["email",]
SOCIAL_AUTH_LINKEDIN_OAUTH2_KEY = "xxx"
SOCIAL_AUTH_LINKEDIN_OAUTH2_SECRET = "xxx"
SOCIAL_AUTH_LINKEDIN_OAUTH2_SCOPE = ["r_basicprofile", "r_emailaddress"]
Сега Google поставя имейла на потребителя в модела auth.user в базата данни, но LinkedIn и Facebook дори няма да изпратят имейла на потребителя. Какво да правя?
Отговори:
1 за отговор № 1Добавете го към настройките си:
SOCIAL_AUTH_FACEBOOK_PROFILE_EXTRA_PARAMS = {"fields": "id,name,email",}
SOCIAL_AUTH_FIELD_SELECTORS = ["email-address",]
Сега Facebook и LinkedIn ще изпратят електронната поща на потребителя и python-social-auth автоматично ще ги постави на потребителския модел в базата данни.
Надявам се, че това помага на някого.