如何避免在服务器(Django Social Auth)上获取用户私有数据(用户的电子邮件)

2024-04-19 05:09:01 发布

您现在位置:Python中文网/ 问答频道 /正文

在我的Django应用程序中,我使用Python Social Auth使用googleoauth登录我的站点。作为登录机制的一部分,身份验证中间件附加了User对象来访问请求。因此,我可以通过服务器上的request.user.email轻松地访问用户电子邮件(由于我的网站的隐私政策,我不希望这样)。你知道吗

那么有没有一种方法可以使用第三方身份验证系统而不必在我的服务器端获取用户电子邮件呢。你知道吗

我可以编写一个为第一次使用的用户分配用户名/别名的代码,这将在以后的引用中使用。你知道吗


Tags: 中间件对象django用户服务器auth身份验证应用程序
1条回答
网友
1楼 · 发布于 2024-04-19 05:09:01

您可以将googleoauth范围配置为不从Google请求客户端的电子邮件。你知道吗

设置示例:

SOCIAL_AUTH_GOOGLE_OAUTH2_IGNORE_DEFAULT_SCOPE = True

SOCIAL_AUTH_GOOGLE_OAUTH2_SCOPE = [
    # only put here things that you want google to return
    'https://www.googleapis.com/auth/userinfo.profile',
    # something else ...
]

所有googleoauth2作用域都列在这个表中:https://developers.google.com/identity/protocols/googlescopes#oauth2v2

相关问题 更多 >