を複製することは通じてログインすることが可能である:Pythonの社会Authの私のウェブサイトでは、異なるユーザのための電子メール
- ユーザー名とパスワード
- 電子メールとパスワード
- Googleの認証2
- ログインfacebook
ここでは、djangoユーザーのシステムとPythonのソーシャル認証機能を使用しています。
問題:
は、私は次のアカウントを作成するとします。
ユーザ名:losimonassi 電子メール:[email protected]
をその後、私は自分のGmail(lorenzosimonassiでログインしようとすると、 @ gmail.com)python social authは、同じ電子メールを持つ別のユーザーを作成します。したがって、自分の電子メールでログインしようとすると、認証システムは2つの似たような電子メールを見つけ、エラーを発生させます。
ユーザーがgmailでログインしようとすると、電子メールがDBと照合され、既に存在する場合はプロセスがリダイレクトとアラートメッセージで停止するという方法を見つけようとしていますミドルウェアを通じて行われる)。
もちろん、DBに対するチェックは、自分のログインをブロックしないように、他のバックエンドユーザーと通常のユーザーに対してのみチェックする必要があります。
私はアカウントを関連付けたくありません。
settings.py
SOCIAL_AUTH_PIPELINE = (
'social.pipeline.social_auth.social_details',
'social.pipeline.social_auth.social_uid',
'social.pipeline.social_auth.auth_allowed',
'social.pipeline.social_auth.social_user',
'social.pipeline.user.get_username',
'social.pipeline.user.create_user',
#'social.pipeline.social_auth.associate_user',
#'social.pipeline.social_auth.load_extra_data',
'social.pipeline.user.user_details'
)
ありがとう!私はそれがうまく動作する小さな変更を行った! –