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