python 使用GitHub的身份验证不使用主电子邮件

axr492tv  于 2023-02-07  发布在  Python
关注(0)|答案(1)|浏览(128)

我最近在Django网站中集成了GitHub身份验证,并注意到Python Social Auth正在使用非主电子邮件地址注册用户。
如何改变这种行为?

exdqitrt

exdqitrt1#

根据设计,GitHub的身份验证使用GitHub在身份验证后返回的电子邮件。As noted by Alexander
返回的电子邮件是用户的公开可见电子邮件地址(如果用户未在其配置文件中指定公开电子邮件地址,则返回空值)。
根据下一个图像,您可以看到,在我的示例中,它将返回me@tiagoperes.eu.Check yours here

所以,你可以解决使用的电子邮件是公共的,而不是主要的。
如果您仍然希望使用主电子邮件,则需要更改管道。首先获取经过身份验证的用户的电子邮件地址列表。

[
  {
    "email": "octocat@github.com",
    "verified": true,
    "primary": true,
    "visibility": "public"
  }
]

然后,调整用户创建以使用主电子邮件。

相关问题