2

Facebookアプリ(iframe)を開発しました。それは正常に動作します。しかし、ユーザーがブラウザーでサード パート Cookie を無効にすると、アプリは無限のリダイレクト ループに入ります。

私を助けるためにさらに情報が必要な場合はお知らせください。

4

2 に答える 2

1

本当にクッキーが必要ですか? もしそうなら、残念ながら、これについてできることはあまりありません。アプリが機能するために Cookie が必要な場合は、ユーザーがサードパーティの Cookie をサポートする必要があります。ただし、P3P ヘッダーを送信していることを確認してください。一部のブラウザでは、サードパーティの Cookie が有効になっている場合でも、サードパーティの iframe Cookie を許可するために有効な P3P ヘッダーが必要です。

例外:

  • リクエストが 1 つだけ必要な場合は、signed_request に頼ることができます。
  • Cookie ベースのセッションの代わりに、URL ベースのセッションを使用してみてください。PHP にはこれに対するビルトインのサポートがある程度ありますが、他の言語/フレームワークでは、さらに作業が必要になる場合があります。

あなたがしていることは、ユーザーを OAuth ダイアログにリダイレクトしようとしていて、そのダイアログがユーザーをあなたのページに送り返していると思いますよね? OAuth ダイアログの後の最初のリクエストでは、signed_request から認証情報を取得するようにしてください。次に、これをサーバー側のセッションに保存し、その ID を Cookie またはクエリ パラメータで渡します。PHP と Python SDK の両方がこのようなことを行うと思います。上で述べたように、Cookie が機能しない場合は、ユーザーがアプリケーション内を移動するときに状態を保持する別の方法を見つける必要があります。

私の正直な推薦?ユーザーのブラウザーがサードパーティ Cookie の設定を許可していないかどうかを検出してみてください。許可していない場合は、セキュリティ設定により、あなたのようなクールなアプリを使用できないことを説明するエラー ページを表示します。

于 2012-04-13T21:31:01.467 に答える
0

サードパーティの Cookie が無効になっている場合、セッションは機能せず、session_id も Cookie として保存されます。

于 2012-05-11T10:17:05.707 に答える