python-social-auth Facebook和LinkedIn用户的电子邮件为空 [英] python-social-auth Facebook and LinkedIn user's email is empty

查看:70
本文介绍了python-social-auth Facebook和LinkedIn用户的电子邮件为空的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用python-social-auth开发Django网络应用.我在Django设置中有此设置:

I am developing a Django web app using python-social-auth. I have this in my Django settings:

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甚至不会发送用户的电子邮件.我该怎么办?

Now Google sets user's email just fine in auth.user model in database, but LinkedIn and Facebook won't even send the user's email. What do I do?

推荐答案

将此添加到您的设置:

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

现在,Facebook和LinkedIn将发送用户的电子邮件,而python-social-auth将自动将其设置为数据库中的用户模型.

Now Facebook and LinkedIn will send user's email and python-social-auth will automatically set them to User model in the database.

希望这对某人有帮助.

这篇关于python-social-auth Facebook和LinkedIn用户的电子邮件为空的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆