首页 文章

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

提问于
浏览
0

在我的Django应用程序中,我使用Python Social Auth来使用Google OAuth进行我的网站登录 . 作为登录机制的一部分,身份验证中间件附加 User 对象以达到请求 . 因此,我可以通过我的服务器上的 request.user.email 轻松访问用户电子邮件(我不知道隐私政策) .

So is there a way to use third party authentications systems without getting user emails on my server side .

我可以编写一个为第一次用户分配用户名/别名的代码,该代码将在以后的引用中使用 .

1 回答

  • 1

    您可以将Google OAuth范围配置为不向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 ...
    ]
    

    此表中列出了所有Google OAuth2范围:https://developers.google.com/identity/protocols/googlescopes#oauth2v2

相关问题