2

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

  1. 将身份验证委托给社交网络身份验证服务(感谢python-social-auth
  2. 更改 python-social-auth 管道以匿名化个人信息。

然后我用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 }

设置.py

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

问题:

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

4

1 回答 1

-1

看起来不错。

我正在做类似于匿名 IP 地址(散列它们)的事情。

于 2013-11-26T12:22:07.023 回答