私は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エントリのキーを取得します。
ありがとうございました。
ありがとうございます。ありがとうございます。 –