我正在使用python-social-auth,我已经成功地使用他的Facebook帐户验证用户,但只保留了电子邮件。我如何:
任何帮助将不胜感激。
提前致谢!
PS:有声誉的人会创建一个标签'python-socialauth'吗?
答案 0 :(得分:2)
出生日期持久性就像定义SOCIAL_AUTH_FACEBOOK_EXTRA_DATA = [('birthdate', 'birthdate')]
一样简单,之后您可以通过user.social_auth.get(provider='facebook').extra_data['birthdate']
来访问它。
其他数据必须使用管道保存,这不是那么简单,但并不难。管道是在auth过程中调用的函数(即使在注册,登录或关联时,如果需要,函数也需要检查)。该函数将获得许多参数,例如strategy
,backend
,social
,user
,response
,requests
,details
,等等,最好定义所需的参数,然后使用**kwargs
忽略其他参数。
一旦函数被编码,它应该被添加到SOCIAL_AUTH_PIPELINE
设置(确保也添加默认条目,或者auth过程不起作用,可以在这里找到http://psa.matiasaguirre.net/docs/pipeline.html#authentication-pipeline)