Sto sviluppando un'applicazione web Django usando python-social-auth. Ho questo nelle mie impostazioni di 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"]
Ora Google imposta l'e-mail dell'utente in modo corretto nel modello auth.user nel database, ma LinkedIn e Facebook non hanno nemmeno inviato l'e-mail dell'utente. Che cosa faccio?
risposte:
1 per risposta № 1Aggiungi questo alle tue impostazioni:
SOCIAL_AUTH_FACEBOOK_PROFILE_EXTRA_PARAMS = {"fields": "id,name,email",}
SOCIAL_AUTH_FIELD_SELECTORS = ["email-address",]
Ora Facebook e LinkedIn invieranno l'email dell'utente e python-social-auth le imposterà automaticamente sul modello Utente nel database.
Spero che questo aiuti qualcuno.