1

https 経由でアクセスする必要があるサーバー上で実行される Facebook アプリを作成しました。そうしないと、https にリダイレクトされ、signed_request が失われます。

アプリの設定で、編集できるすべての URL が https プロトコルを使用しています。http:// (s なし) で始まる URL はありません。キャンバス ページの URL を除き、その値を変更することはできません ( http://facebook.com/myappnameです)。

しかし、安全でないモード (http) でアプリをインストールした Facebook ページを開くと、Facebook は構成された Facebook ページの URL からその "s" を削除し、http://myappdomain代わりにを呼び出しますhttps://myappdomain

私の最初の質問: 設定した URL を書き換えないように Facebook に指示するためにできることはありますか? (それともどこかで間違えたのかな)

私の 2 番目の質問: signed_request がない場合は空のページを読み込んで、そこに javascript コードを配置できると思います window.top.location = https://facebook.com/somewhere。しかし、署名されたリクエストがなければ、この「どこか」はわかりません。apaches mod rewrite を使用して post パラメータを get パラメータとして渡すことは可能ですか?

アプリの http バージョンを提供することは、私にとって解決策ではありません (顧客の要件)。

4

1 に答える 1

1

signed_request が欠落している場合は空のページをロードし、そこに javascript コードを配置できると思います window.top.location = https://facebook.com/somewhere。しかし、署名されたリクエストがなければ、この「どこか」はわかりません。apaches mod rewrite を使用して post パラメータを get パラメータとして渡すことは可能ですか?

今はそうではありませんが、その小さなスクリプトを HTTP 経由でのみ提供してみませんか? その中の signed_request にアクセスし、HTTPS ターゲット URL を把握し、JavaScript 経由でそこにリダイレクトできます。

アプリの http バージョンを提供することは、私にとって解決策ではありません (顧客の要件)。

この方法では、リダイレクト自体のみが HTTP 経由で提供されます。クライアントがそれによってリダイレクトされると、HTTPS が使用されます。「実際の」アプリのみを表示する場合、それは顧客の要件を満たしますか?

于 2012-11-14T09:49:11.093 に答える