/ / python-social-auth Die E-Mail-Adresse von Facebook und LinkedIn ist leer - Python, Django, Facebook, LinkedIn, Python-Social-Auth

python-social-auth Facebook und LinkedIn Benutzer-E-Mail ist leer - Python, Django, Facebook, LinkedIn, Python-Social-Auth

Ich entwickle eine Django-Web-App mit Python-social-auth. Ich habe dies in meinen Django-Einstellungen:

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"]

Nun legt Google die E-Mail-Adresse der Benutzer in der Datenbank auth.user genau fest, aber LinkedIn und Facebook senden nicht einmal die E-Mail der Nutzer. Was kann ich tun?

Antworten:

1 für die Antwort № 1

Fügen Sie dies Ihren Einstellungen hinzu:

SOCIAL_AUTH_FACEBOOK_PROFILE_EXTRA_PARAMS = {"fields": "id,name,email",}
SOCIAL_AUTH_FIELD_SELECTORS = ["email-address",]

Jetzt senden Facebook und LinkedIn die E-Mail des Benutzers, und Python-social-auth setzt sie automatisch in der Datenbank auf Benutzermodell.

Hoffe, das hilft jemandem.