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 № 1Fü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.