Facebook(「fbuser」と言う)またはGoogle(googleuser)を使用してユーザーを作成した後。通常のdjango管理者(normaluser)から別のユーザを作成して、3人目のユーザ(normaluser)がログインしているときにFacebookやGoogleを使って再度ログインしようとすると、AuthAlreadyAssociatedというエラー例外がスローされます。Django Social AuthのAuthAlreadyAssociated例外
理想的には、すでに ユーザーnormaluserとしてログインしていると呼ばれるエラーをスローする必要があります。
普通のユーザーをログアウトして、 のように、既にFBまたはGoogleに関連付けられている アカウントに関連付けてください。
上記2つの機能のどちらを実装すればよいですか?すべてのアドバイスは大歓迎です
私はSOCIAL_AUTH_PIPELINEをカスタマイズしようとすると、また、FBやGoogleでログインすることはできません、そしてそれは、ログインURL /アカウント/ログインを強制的に/
オプション#2を実行しようとしましたが成功しませんでした。ユーザーをログアウトさせるが、新しいsocial.userとしてログインすることはできない。 置換: 'この{0}アカウントが既に使用中である'。 MSG =をフォーマット(プロバイダ) 上昇AuthAlreadyAssociated(strategy.backend、MSG) 有する: ログアウト(kwargs.get( '要求')) user = social.user – nwilson5
@omab:Djangoを使用したPythonの社会的な認証では、同じリクエストでシームレスに現在のユーザーをログアウトし、social_userパイプライン置換を使用して2番目のユーザーのセッションを設定する方法はありますか? – jacob
@omab:social.actions.do_completeでは、is_authenticatedは既存のユーザー(「ユーザーA」)に基づいて最初に設定されます。しかし、パイプラインで「ユーザーA」をログアウトして「ユーザーB」を返すと、do_completeはis_authenticatedがすでにTrueに設定されているため、「ユーザーB」にログインしません。 「ユーザーB」にログインするかどうかを判断するために、パイプラインが完了した後にdo_completeでセッションユーザーを再度評価する必要がありますか? – jacob