Facebook接続とサードパーティCookieですか?
質問
「サードパーティ」などのような場合にユーザーをログイン状態に保つ最善の方法は何ですか?クッキーは無効です。現在、Facebook接続アプリ(PHPのみ)を使用しています。これは、Firefoxでチェックインしている場合はうまく機能しますが、チェックを外すとログインページにリダイレクトされます。 Facebookのサンプルアプリケーション( therunaround )でも、このチェックを外すと同じ問題が発生するため、 mこの問題を回避する方法がないか疑問に思います。
編集:
@ codege3k
多数のp3pヘッダーを試しました。今のところサイコロはありません。ユーザーが「接続」したときにインデックスにリダイレクトするログインページがあります。 ...最初のロードでは、 get_loggedin_user()
からユーザーIDを取得できますが、更新するとその関数はnullを返します。 Cookieが存在します。ログインページに戻って[接続]をもう一度クリックしても、ログインを求められないため、部分的に機能していることがわかります。 「サードパーティCookie」を使用Firefoxでオンにすると、チャームのように機能します。
編集:
サードパーティのCookieが広くサポートされていない場合、ユーザーログインのコンテキストでFacebook接続を処理する最良の方法は何ですか?動作する初期ログインを使用し、自分のサイトにローカルCookieを設定し、毎回Facebookのステータスを確認する代わりにそれを使用する必要がありますか?
解決
さて、セッションの宣伝はうまくいくようです。
$fbUserId = self::$facebook->get_loggedin_user();
if ($fbUserId)
{
self::$facebook->promote_session();
return $fbUserId;
}
編集:
したがって、これはすべてのリクエストでセッションを取得しますが、基本的に、Facebook Connectが期待どおりに動作するにはサードパーティCookieを有効にする必要があります。ドキュメントから:
ユーザーのブラウザは サードパーティのCookieを受け入れて クリック間で接続を維持します。
出典: http://wiki.developers.facebook.com/index.php / Logging_In_And_Connecting
他のヒント
サードパーティのCookieについても同様の問題がありました。この質問を確認し、解決するかどうかを確認してください
p3pヘッダーを追加することで解決できます。
P3Pは、サードパーティのCookieを受け入れないブラウザでこれを修正するために機能しますか? http://bugs.developers.facebook.comでFBバグについてコメントしました。 /show_bug.cgi?id=5009 。