python-social-auth和模仿django用户

时间:2013-11-26 10:41:45

标签: django python-social-auth

我想避免在数据库中存储个人信息(没有姓氏,没有电子邮件)。这是我实现它的方法:

  1. 将身份验证委派给社交网络身份验证服务(感谢python-social-auth
  2. 更改python-social-auth管道以匿名化个人信息。
  3. 然后我用这个替换了管道上的social_details步骤:

    #myapp/mypipeline.py
    def social_details(strategy, response, *args, **kwargs):
        import md5
        details = strategy.backend.get_user_details(response)
        email = details['email']
        fakemail = unicode( md5.new(email).hexdigest() )
        new_details = {
                    'username': fakemail[:5],
                    'email': fakemail + '@noreply.com',
                    'fullname': fakemail[:5],
                    'first_name': details['first_name'],
                    'last_name': '' }
        return {'details': new_details }
    

    settings.py

    SOCIAL_AUTH_PIPELINE = (
        'myapp.mypipeline.social_details',
        'social.pipeline.social_auth.social_uid',
        ...
    

    问题:

    这是实现目标的正确方法吗?

1 个答案:

答案 0 :(得分:-1)

看起来不错。

我正在做类似匿名化IP地址的事情(哈希)。