0

APIのページはこちらです:https://developers.facebook.com/docs/javascript/reference/v2.6私のWebアプリケーションからユーザーをログアウトできますが、Javascript SDKを使用してFacebookにログインしておくことはできますか?

私の知る限りでは、ユーザーが既にWebアプリケーションにFB.login()FB.logout()を呼び出すWebアプリケーション(Webサイト)を、許可した場合は

は本質的ログのユーザーですFacebookの外に出て、いくつかのデータでウェブアプリケーションを返す(もちろんこれを行うにはアクセストークンが必要です)。 2つのページが開かれているとします.1つはWebアプリケーション、もう1つはfacebook.comです。どちらも最初にログアウトしました。今度は、あなたのFacebookアカウントでWebアプリケーションのページにログインし、もう一方のページを更新すると、両方がログインしていることがわかります。ログアウトの場合も同様です。

私の理解が間違っている場合は、私を修正してください。私は完全に論理の理由があることを理解しています。

ウェブアプリケーションからユーザーをログアウトする方法はありますか?Facebookにログインしたまま、許可を取り消さないでください。

Google OAuthで試したことがあります。 Google+ APIを使用すると、ウェブアプリからユーザーをログアウトし、Google+にログインできるようになるようです。

+1

これは動作を意図したものです。ユーザーがもう一度アプリを訪れ、すでに以前に承認され、Facebookにログインしている場合は、そのアプリにシームレスにログインする必要があります。そうしたくない場合は、初期化時にログインステータスをチェックしないようにSDKを初期化し、代わりに明示的にログインするためのボタンをユーザーに提供することができます。 – CBroe

+0

@CBroeなぜそれは意味があるか分かります。しかし私の状況では、fbの代わりにWebアプリからログアウトさせたい。私は一般的な方法は、Webアプリケーション自体のユーザーテーブルを持つことだと思います。ユーザーをFBアカウントにバインドします。 – coolgod

+0

正確には、自分で追跡する必要があります。つまり、FB UIとアクセストークンをセッションに保存するという基本的なことを意味していても、サイトからログアウトしたときにそのセッション情報を削除できますが、FBログインはそのまま維持できます。(副作用は、彼らのアクセストークンが無効にならないということです。だれかがそれを盗んだら、XSSか何かを介して言うことができます、彼らはデフォルトで期限切れになるまでそれを長く使うことができます) – CBroe

答えて

0

これはどのようにすべきかです。あなたは、あなたのアプリを "Facebookアプリ"ログイン用のインターフェースにしたいのですが、それはなぜですか?ユーザーの視点からのシナリオを考えてみましょう。

  1. ユーザーがログインしていて、ブラウジングしています。彼はあなたの便利なアプリケーションを見つけて、あなたのアプリにログインしました(必要な権限を与えています)。あなたのアプリを離れる前に、彼はアプリからログアウトします。その後、彼はFacebookに戻り、そこを閲覧し続ける。すべていいよ!

  2. ユーザーはFacebookにログインしていません。彼はあなたのアプリにログインし、あなたのアプリをブラウズしてログアウトします。それから彼がfacebook.comを開くと、なぜ彼は彼がfacebookにうっとりするべきであることを期待するのだろうか?私は彼がそれを考えていないと思うと彼はFacebookにログインして続行します。

ポイントはFacebookのにユーザーがログインしている場合、単純なhere-

  • で、彼がログインしたことがありますまで、彼がFacebookのからログアウトしない限り。
  • ユーザーがFacebookにログインしていないのにアプリにログインしている場合、彼はアプリからログアウトするまでFacebookにログインします。
関連する問題