Django Social Authを使ってFacebookログインを作った時にハマったのでメモ。
Facebookからリダイレクトされた後にAuthAlreadyAssociatedで落ちる
初めは問題なくログインできていたのですが、いつの間にかFacebookからのリダイレクト後にAuthAlreadyAssociatedが発生するようになってしましました。
原因
今回の現象は、『ログアウトしていない』ことが原因でした。
ログイン状態のままブラウザを終了した時などです。
対策方法
ランディングページでログイン状態を確認し、ログイン済みの状態であればログイン後のページにリダイレクトするようにしました。
def home(request): if request.user.is_authenticated(): return redirect('member_page/') ...
ただ、セキュリティ上ヤバイ気がするので、本当はAuthAlreadyAssociatedが発生したら、ログアウト後ログインするような処理にした方がいいかも。
でも、パイプライン周りはまだ全然分からないので今回はパス。
以上です。