0

Facebook Oauth を使用しています。私のアプリケーションは iframe にあります。以下は、私の最初の Oauth URL です。

https://graph.facebook.com/oauth/authorize?client_id=XXXXX&redirect_uri=XXXX&scope=offline_access,publish_stream

リダイレクト URI は https です。

IE8 では、次のエラー ページが表示されます。

[最初は、Go To Facebook.com リンクが表示されます][1]

![その後、次のエラーページが表示されます][2]

このコンテンツはフレームに表示できません

Firefox では、空の白いページが表示されます。そのため、Facebook Oauth は IE だけでなく Firefox でも機能しません。あなたのサイトでいくつかの投稿を見つけました。しかし、それらは私の問題を解決するのに役立ちませんでした。

4

1 に答える 1

3

https://developers.facebook.com/docs/reference/dialogs/によると:

iframe : Facebook のキャンバス ページ内の iframe 内で実行するときにアプリで使用します。ライトボックス スタイルのオーバーレイ内にダイアログを表示します。クリックジャッキングのリスクがあるため、これは一部のダイアログでのみ許可されており、有効な access_token を渡す必要があります。このモードは、OAuth ダイアログではサポートされていません。

表示タイプとして指定していなくてもiframe、ダイアログを iframe 内にロードしているため、facebook はこれを検出してクリックジャッキングを防ぎます。

これを回避する良い方法の 1 つは、認証を処理するポップアップ ウィンドウを開くことです。

<script type="text/javascript">
window.open('https://www.facebook.com/dialog/oauth?display=popup&client_id=...');
</script>

または同様のもの (リダイレクトを行うサイトの URL を開くなど)。

于 2012-05-03T14:19:31.560 に答える