4

ユーザー認証とログイン (Facebook ログインのみ) を管理するために django_social_auth に依存する django アプリケーションのテスト スクリプトをいくつか書いています。

django_social_auth のログイン部分をバイパスしたい - 私はすでに何人かのテスト ユーザーを持っており、他のテストを通じて以前に認証トークンを取得しています。

技術的には、テスト ユーザーを再度ログインさせる必要はありません。このテストには、既存の有効なトークンで十分です。

ユーザーログインプロセスをバイパスして、既存の認証トークンのコピーを使用するように django_social_auth システムを機械加工するにはどうすればよいですか?

(ユーザーのデータの一部は、認証とこのテストを実行する時点の間にデータベースから削除された可能性があることを付け加えておきます)

4

1 に答える 1

1

最近、同様のカスタマイズを行いました。デフォルトをオーバーライドする必要がありますSOCIAL_AUTH_PIPELINE。いくつかのハンドラーを作成し、パイプラインで同じものを置き換えることをお勧めします。詳細については、http://django-social-auth.readthedocs.org/en/latest/pipeline.htmlを参照してください

私の強化されたパイプライン:

SOCIAL_AUTH_PIPELINE = (
                'social_auth.backends.pipeline.social.social_auth_user',
                # Removed by default since it can be a dangerouse behavior that
                # could lead to accounts take over.
                #'social_auth.backends.pipeline.associate.associate_by_email',
                'social_auth.backends.pipeline.user.get_username',
                #'social_auth.backends.pipeline.user.create_user',
                'myproject.custom.create_user',
                'social_auth.backends.pipeline.social.associate_user',
                #'social_auth.backends.pipeline.social.load_extra_data',
                'myproject.custom.load_extra_data',
                'social_auth.backends.pipeline.user.update_user_details',
           )
于 2013-02-19T16:00:55.507 に答える