0

このURLへのGETリクエストを正常に使用しています

https://www.facebook.com/logout.php?access_token=ACCESS_TOKEN&confirm=1&next=MY_APP_URL

ここで、MY_APP_URLはhttps://apps.facebook.com/MY_APP_NAMEの形式であり、ユーザーにFacebookからログアウトして、アプリにリダイレクトするように強制します。

ただし、ブラウザのUXは理想的とは言えません。まず、MY_APP_URLにリダイレクトされているように見え、メール/パスワードのフィールドが右上に約1秒間表示されます。次に、login.phpへのリダイレクトがあり、フルページのログインフォームが表示されます。

ログアウト/ログインに関してはすべて正しく機能しますが、この1〜2秒の異なるログインフォームの表示は煩わしいものです。

login.php URLへのリダイレクトが1つだけになるように、これを合理化する方法はありますか?

おそらく、 https://apps.facebook.com/MY_APP_NAMEの代わりに「oauth / authorize」URLを次のURLとして使用する必要がありますか?

4

1 に答える 1

0

答えは、logout.php の次のパラメーター (元は上記の MY_APP_URL として示されています) をアプリと同じドメインの URL に設定することです。

この URL は、ユーザーを OAuth ダイアログにリダイレクトする必要があります (ここで説明: https://developers.facebook.com/docs/reference/dialogs/oauth/ )。OAuth ダイアログへの呼び出しの redirect_uri パラメータは、上記のように MY_APP_URL にする必要があります。

この方法では、ログイン ページが表示される前に Facebook クロムが 1 ~ 2 秒間表示されることはありません。残念ながら、ログアウト/ログイン プロセスに別の要求/応答サイクルが挿入されます。

(注: Facebook は、ユーザーがログインしていないときにhttp://apps.facebook.com/MY_APP_NAMEの形式の URL を要求すると、ユーザーを自動的にログイン ページにリダイレクトする必要があるようです。なぜ FB クロムが必要なのかわかりませんまったく表示されません。)

于 2013-01-01T00:21:32.480 に答える