Django Social AuthでAuthAlreadyAssociatedが発生する


Pocket

Django Social Authを使ってFacebookログインを作った時にハマったのでメモ。

 

Facebookからリダイレクトされた後にAuthAlreadyAssociatedで落ちる

初めは問題なくログインできていたのですが、いつの間にかFacebookからのリダイレクト後にAuthAlreadyAssociatedが発生するようになってしましました。

原因

今回の現象は、『ログアウトしていない』ことが原因でした。
ログイン状態のままブラウザを終了した時などです。

対策方法

ランディングページでログイン状態を確認し、ログイン済みの状態であればログイン後のページにリダイレクトするようにしました。

def home(request):
  if request.user.is_authenticated():
    return redirect('member_page/')
    ...

ただ、セキュリティ上ヤバイ気がするので、本当はAuthAlreadyAssociatedが発生したら、ログアウト後ログインするような処理にした方がいいかも。
でも、パイプライン周りはまだ全然分からないので今回はパス。

以上です。

 
 

Leave a Comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>