サーバー側の認証を使用して、Facebookログインとすでに統合されているWebサイトがあります。
Facebookで実行するアプリケーションに変換するのに問題があります。
問題は、Facebookが認証ページをまったく表示しないことです
したがって、実際にはサーバー認証プロセスに到達していません。
現在、アプリケーションはローカルマシンで実行されています。
私のアプリはFacebookアプリケーションとして定義されています:(サイトのセキュリティ目的でのみローカルホストの前に空白を追加します)
- キャンバスURL:http:// localhost:4300 / fbopt /
- 安全なキャンバスのURL:https:// localhost:4303 / fbopt / "
[セキュアURLなしでサンドボックスで実行している場合にも同じ問題が発生します]
「アプリに移動」ボタンのある「ファンページ」があります。ボタンを押すと、次のURLに移動します:https://apps.facebook.com/ [appid] /?fb_source = timeline
ブラウザはフレームを含むページのロードを開始します。下のフレームは、指定したURLへのPOSTリクエストを作成します。
私のアプリケーションは、ページを次のURLにリダイレクトします。
https://www.facebook.com/dialog/oauth?client_id=[appid]&redirect_uri=https://localhost:4303/fbopt/hook&scope=email,user_location,user_birthday
Facebookには、必要な権限を備えたアプリケーション認証フォームが表示されると思います。
残念ながら、これは起こりません。空のページがフレーム内に表示され、HTMLは空です!
(Chromeネットワークデバッガーから)URLが実際にアクセスされていることがわかりますが、応答はHTTP 200ステータス(エラーではない)ですが、応答データはありません。代わりに、
Xフレーム-オプション:拒否
応答ヘッダー-フレーム内でレンダリングが拒否されました!なんで?
Facebookのフレーム構造の外で「手動で」上記のURLをロードすると、適切な権限を持つ認証画面が表示されます。
キャンバスで動作させるには何が欠けているのだろうか。
私が何を追加すべきか、またはそのような問題をデバッグする方法についてのヒントはありがたいです。
ありがとう、マックス