从 Django Python 视图中的 Social Auth 获取用户信息

Getting User Information from Django Python Social Auth in the view

第一次使用 python-social-auth 和 Django,但无法确定我可以获得多少有关用户社交帐户的信息。


当我访问 UserSocialAuth 对象的 extra_data 时,我可以获得 uid 和 access_token。要获得更多详细信息,我是否可以通过社交公司(前 Facebook)API 提供这些信息?


我可以看到对于像 facebook Django 的一些社交身份验证,Django 的 user 对象神奇地填充了来自社交个人资料的名字和姓氏,但对于像 LinkedIn 这样的其他人来说,这是行不通的。我如何在不手动探查每个社交身份验证的情况下找出每个社交身份验证可用的信息?


我只是想从用户那里获取尽可能多的 "Profile" 数据,我担心通过 API 是实现此目标的 "long way"。我实际上已经通读了文档,但对我来说可能太高级了;我不确定如何使用管道从视图中获取的数据。我什至不确定这句话是否有道理!

python-social-auth 将只获取必要的位来填充:

  • 电子邮件
  • 用户名
  • 名字
  • 姓氏

一些 API 将在身份验证流程中提供更多详细信息,这些可以根据 SOCIAL_AUTH_EXTRA_DATA 设置保存在 extra_data 中。

一些后端会调用提供程序中的 API 来获取额外数据。调试可用数据的一种简单方法是在默认步骤之间添加自定义管道并打印 args 中的所有内容。

根据 uidaccess_token,是的,你是对的,当调用提供者服务的任何 API 时将需要这些值,有时两者都需要,有时 access_token 就够了。