2011-10-26 20 views
7

私はFabebookの内部でiframeとして実行されるRailsアプリケーションを持っています。私は、FBコミュニケーション用のKoala gem(いくつかの部分ではjs SDK)と認証ベースとしてのDeviseを使用しています。Facebook apps(iframe)とサードパーティのクッキー

私はアプリがiframeの内部で実行されるという問題についていくつかの問題を見てきました。サードパーティのCookieは設定できません。 IEの場合、私はP3Pヘッダーを使用していましたが、問題を何とか緩和しました。

しかし、すべてが非常に混乱しています。私はSnow Leopardを利用しています。例えば

:「第三者や広告主からのCookieをブロックする」

サファリで
  • 5.1.1私が設定しています アプリケーションは正常に動作し、問題なく使用できます。

  • Chrome 5.0.874では、「サードパーティのCookieが設定されないようにする」というオプションがチェックされていますので、私のアプリが設定する2つのメインクッキー(アプリクッキーとfbs_xxxxクッキー)ユーザーが常に認証する必要があるため、アプリは機能しません。

  • Opera 11.52では、サードパーティのCookieへの参照はなく、ブラウザは「私がアクセスしたサイトからのCookieのみを受け入れる」と設定されています。私のアプリはその設定でうまくいく。

  • Firefox 7.0.1では、私のアプリは動作しますが、クッキーを扱う設定が見つかりませんでした。ちょうどそれらを削除する。

明らかに私の問題はChromeにありますが、同じ設定がSafariで機能します。だから私は本当に混乱している。

この問題の唯一の解決策として、サードパーティのCookieを許可するようにユーザーに求めていますか?

ありがとうございました。

私の現在の作業溶液ON UPDATE

私はいくつかの余分な研究とテストをしました。私は、Railsのセッション記憶域の代替方法を使用しようとしました。デフォルトでは、それらはクッキーに格納されますが、セッションデータをメモリ、dbなどに保存することはできますが、選択した代替ストレージへのポインタを持つCookieを引き続き使用するため、セッションデータをメモリ、dbなどに保存できます。

最後に、現在のログインしているユーザーの身元を確認できるURLをいくつか設定し、ユーザーを取得して、そのユーザーをDevises sign_inメソッドで手動でサインインします。私はあまり好きではありませんが、今はサードパーティのクッキーをブロックして動作させることができます。私は後で変更を加え、そこに本当の情報を持っている代わりに、私はmemcachedサーバーへのアクセス権を持っている必要があります(以前設定された)ユーザーを取得する場所からmemcachedエントリのキーを取得します。

ありがとうございました。

答えて

2

Cookieを設定できない場合は、URLの最後にセッションIDを設定します。

+3

ありがとうございます。ありがとうございます。 –

1

Firefoxには、直感的ではないクッキー設定の配置があります。 [ツール] - > [オプション] - > [プライバシー]に移動し、ドロップダウンボックスから[履歴にカスタム設定を使用する]を選択すると、Cookieの設定が表示されます。しかし、デフォルト値に設定されている場合は、再び「消えます」。

サードパーティのCookieの定義と処理の両方に大きな矛盾があります(たとえば、Firefoxでは禁止されているのはCookieの設定だけでなく、Cookieの読み取りも同様です)。このため、できる限りクッキーに依存しないようにすることをお勧めします。安全でないと思われるもの(それぞれのブラウザでどのように行うかについての異なる指示をすべて提供するだけでなく)を有効にする必要があることをユーザーに伝えることはすでに難しく、ブラウザがデフォルト設定を引き締め続けるにつれて悪化するだろう。残念ながら、すべての標準ライブラリはデフォルトでクッキーを使いたいと思うので、簡単な作業ではありませんが、あなたのアプリをプログラミングし始めたばかりの場合は、すぐにクッキーなしの方法を試してみる価値があると思いますコウモリ。

+0

フロイド&デレク、ご意見ありがとうございます。 URLにセッションIDを設定することは安全ではなく、Railsではまったく推奨されません。しかし、Railsはセッション情報をどこに格納するのかを別の場所で提供しています。前回私が試したときに、私はDevieに問題がありました。なぜならそれはクッキーを期待しているからですが、もう一度やり直すべきです。ええ、今私はFFのクッキーの設定を見つけた感謝!それはよく隠されていた。 – Pod

関連する問題