django-social-auth を使用して、Facebook ログインで自分の Web サイトにログインしています。これにより、次のような問題が発生しました。1. 最初のログイン時に、私の Web サイトは Facebook のログイン ダイアログにリダイレクトされます。2.ログインの詳細が正しい場合、それは私のウェブサイトにログインします。3. Web サイトからログアウトすると、ゲストとして正しく識別されます。4.しかし、Facebookでログインを再度クリックすると、以前にログインしたユーザーとしてFacebookダイアログボックスなしで直接ログインします。
さらに調査したところ、Facebook で自分の Web サイトにログインすると、facebook.com にもログインすることがわかりました。そして、私が自分のウェブサイトからログアウトすると、自分のウェブサイトからログアウトするだけで、まだ facebook.com がログインしたままになります。これが、以前にログインしたユーザーが、ユーザー名/パスワード。
これにより、一部のユーザー ケースが容易になることを理解しています。すでに facebook.com にログインしていて、mysite で facebook ログインをクリックすると、ユーザー名やパスワードの詳細を必要とせずに直接ログインできます。
インターネットで言及されている最も一般的な解決策 (stackoverflow でも利用可能) は、ログアウト リダイレクトまたは JavaScript メソッドを使用して facebook.com から手動でログアウトすることです。しかし、ユーザーが別のタブで facebook.com に手動でログインした場合、またはユーザーが facebook を使用して別の Web サイトにログインした場合、これは問題になります。
Facebookがこのように「Webサイト用Facebook」を実装した理由は何ですか。
部分的に正しいと思う解決策の 1 つは、Web サイトへのログイン中にログイン ダイアログが表示されているかどうかを確認し、このデータに基づいて、Facebook から手動でログアウトすることです。しかし、これは部分的な解決策です。Facebook を含む他のサイトからユーザーがログアウトする可能性があるためです。Google がオンライン アプリ (gmail、リーダー、ドキュメントなど) に実装したものとより一致しているように思われるため、当面はこれで進めます。
しかし、私はまだより良い解決策を探しています。
もちろん、最善の解決策は、ログイン プロセス中に facebook.com ログインを回避できる場合です。
感想・アイデアお待ちしております。