質問

「サードパーティ」などのような場合にユーザーをログイン状態に保つ最善の方法は何ですか?クッキーは無効です。現在、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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top