2010-11-22 20 views
0

私のfacebookアプリの認証はphp apiを使用しています。これは、ajax要素で認証する必要がある場合を除いて素晴らしいです。GETパラメータとして使用するfacebookセッションを取得する

jqueryの負荷を使ってOperaのページの要素をajaxにすると、認証が失われてからfacebook login.phpにリダイレクトされ、ajaxページにリダイレクトされます(これはページ全体の要素に過ぎません) 。

それが認証を保持していればどんな方法でもリダイレクトされません...私は考えています。セッションをGETパラメータとして渡すと、それは問題にならないでしょう。 $ facebookからどのようにセッション変数を取得できますか?

+0

PHP SDKでCookieモードを使用していますか? –

+0

私はそう思います...どうすればいいですか? – Starlin

答えて

0

iframeアプリを使用していることを前提としています。問題は、OperaがiframeアプリケーションのCookieを許可しないということです。あなたの他のすべてのブラウザは、CookieからFacebookのセッションを読み込んでいますが、Operaはそうではありません。したがって、オペラのためには、セッション(またはsigned_request)クエリパラメータの値に頼らざるを得なくなります。これらのパラメータはクエリストリンから読んでください。 iframeウィンドウの実際のソースを表示します。あなたのurlには?sessionまたは?signed_requestクエリパラメータがあります。クエリーストリングからこれらの値を読み取った後、あなたのajaxコールに正確に送信してください。率直に言って、私はiFrameアプリのクッキーを完全にオフにするだけです。彼らは信頼できません(読んでもすべてのブラウザで動作しません)。私の意見では、それらをまったく使用すべきではないということです。

+0

また、この質問への私の答えを参照してください:http://stackoverflow.com/questions/4182064/facebook-c-sdk-ajax-in-iframe-app/4185452#4185452 –

関連する問題