我正在使用 python-social-auth 并且我成功地能够使用他的 Facebook 帐户对用户进行身份验证,但只有电子邮件被保留。我如何能:
- 坚持生日?
- 添加和保留不是来自 FB 的信息,比如他的宠物名字?(据我所知,我将不得不使用管道但不知道如何)
任何帮助将不胜感激。
提前致谢!
PS:有足够声誉的人会创建标签“python-socialauth”吗?
我正在使用 python-social-auth 并且我成功地能够使用他的 Facebook 帐户对用户进行身份验证,但只有电子邮件被保留。我如何能:
任何帮助将不胜感激。
提前致谢!
PS:有足够声誉的人会创建标签“python-socialauth”吗?
生日持久化就像定义一样简单SOCIAL_AUTH_FACEBOOK_EXTRA_DATA = [('birthdate', 'birthdate')]
,以后你可以通过do来访问它user.social_auth.get(provider='facebook').extra_data['birthdate']
。
其他数据必须用管道保存,这不是那么简单,但也不难做到。管道是一个将在身份验证过程中调用的函数(即使在注册、登录或关联时,该函数也需要在需要时进行检查)。该函数将获取许多参数,如strategy
, backend
, social
, user
, response
, requests
,details
等,最好定义所需的参数,然后使用**kwargs
忽略其他参数。
一旦函数被编码,它应该被添加到SOCIAL_AUTH_PIPELINE
设置中(一定要添加默认条目,否则验证过程将不起作用,这些可以在这里找到http://psa.matiasaguirre.net/docs/pipeline。 html#authentication-pipeline)。