2012-02-10 26 views
2

Facebook経由でウェブサイトにログインするためのアプリケーションを作成しようとしています。ユーザーがログインすると、彼はhttp://www.facebook.com/dialog/oauth/?client_id=APP_ID&redirect_uri=REDIRECT_URL&state=STATEにリダイレクトされ、パーミッションを使用するための確認ダイアログが表示され、すべて正常に動作します。しかし、FBはこのアプリケーションを何らかの形で覚えており、ユーザーがこのURLを開いたときに再びアクセス許可の確認を求めることはありません。このダイアログを常に表示する方法はありますか?私はTwitterでそれを行うことができましたが、Facebookの答えを見つけることができませんでした。ユーザーのログイン時に常にFacebookアプリケーションに許可ダイアログを表示できますか?

+0

なぜこれが欲しいですか? –

+0

これは、Facebookページを開いてそこからログアウトする以外は、ユーザーを変更するための唯一の方法です。 –

+0

1. Facebookのユーザーは複数のアカウントを持つことができません。 2. JS-SDKでは 'FB.logout'、PHP-SDKでは' getLogoutUrl'(他のSDKと同様のものが必要です)を使用してログインダイアログを表示する前にユーザをログアウトすることができます –

答えて

7

実際に何らかの理由でこれが必要な場合は、ユーザーのアカウントからを使用してHTTP DELETEリクエストを/USER_ID/permissionsにアンインストールします。 次回に戻ったときに、アプリの再認証が必要になります。

reauthentication flowとは別に、認証ダイアログを強制的に表示する方法はありませんが、再認証の流れによってユーザーにFacebookのパスワードを再入力するように促すことがあります彼らは既にFacebookにログインしているので、プロセスに余計な負担がかかります

+0

+1、これはあなたがする必要があります。 – DMCS

+0

@DMCS - あなたが再請求したい場合にのみ... – Lix

1

FacebookのOAuthダイアログを表示するのではなく、あなたのアプリケーションに、Facebookアカウントについての情報があるページを表示することもできます(写真/名前など)を使用してログインします。そうすれば、彼らが好きならログアウトして再認証するか、正しいアカウントを持っているかを知ることができます。

関連する問題