在我的第一个Django项目中,我想将Python Social Auth绑定到社交身份验证(即Facebook)。
Django==2.0
社交认证应用django==2.1.0
社交授权核心==1.7.0
如何从登录用户的配置文件中检索额外数据?我的目标是根据用户所属的FB组将登录用户筛选到自定义组。不过,在这一点上,我甚至不能得到电子邮件,只有用户名。在
在我的设置.py公司名称:
SOCIAL_AUTH_FACEBOOK_KEY = 'xxxx'
SOCIAL_AUTH_FACEBOOK_SECRET = 'xxxx'
SOCIAL_AUTH_FACEBOOK_SCOPE = ['email', 'groups_access_member_info']
SOCIAL_AUTH_FACEBOOK_PROFILE_EXTRA_PARAMS = {
'fields': 'id, name, email',
'edges': 'groups'
}
管道是基本管线:
^{pr2}$我不是要求完整的代码,任何帮助将不胜感激。在
提前谢谢你!在
python-social-auth
将只存储填充模型字段所需的基本用户信息,如果任何额外的信息是提供者的auth有效负载的一部分,并且在EXTRA_DATA
设置中进行了配置,那么它也将作为extra_data
属性的一部分存储在社交类中。在尽管如此,
python-social-auth
不会调用提供程序中的任何其他API来获取额外的数据,要实现这一点,您需要使用将在Facebook上调用这些附加端点的方法来增强PIPELINE
,一旦得到响应,您就可以将其存储在适合您的项目中的情况下。在要调试默认情况下来自提供者的内容,请在步骤(
social_core.pipeline.debug.debug
)之间添加debug
管道。如果要查找的内容已经是有效负载的一部分,请记下密钥名称并将其添加到EXTRA_DATA
设置中。如果不是,那么您需要添加一个方法来调用Facebook API来检索额外的信息。在相关问题 更多 >
编程相关推荐