2012-03-18 8 views
1

私はPHPとJavaScript SDKで作業していて、次の問題を確認しています。php-sdkで有効なセッションCookieをチェックする方法は?

fbsr_ *クッキーが設定されています。ブラウザを閉じてもう一度開き、アプリケーションに行ってください。 Cookieはまだ設定されているので、アプリケーションはPHPの$ _COOKIE変数を使用して取得し、Facebookクラスはユーザーを抽出してAPI呼び出しを行うことができます。

ページがブラウザに表示され、FB.initが呼び出されると、クッキーは(FB.Cookie.clearSignedRequestCookie()によって)設定されなくなり、その後のリクエストでユーザは突然ログアウトしてください。

JavaScriptのSDKで検出され、「固定」されているユーザーの状態は実際には「ログイン」とは異なりますが、Cookieは有効ですが、PHPでこの状態を確認する方法は問題ありません?私は本当にログインURLへの高価な呼び出しを避け、応答を解析するか、そこにユーザーを送りたいと思っています。

あなたはどう思いますか?私はここに何かを逃していますかこれを解決する最良の方法は何ですか?

よろしく

答えて

0

限り、あなたは認証プロバイダとしての外部パーティに依存しているように、ユーザーを確保するための唯一の方法は、プロバイダに依頼することであるに記録されます。

Facebookに電話するだけでこれを行うことができます。これを確認する方法は他にありません。ユーザーがログインしているかどうかを正確に検出するJS-SDK。

+0

実際にAPI呼び出しを行っていますが、これは成功します。だから、クッキーは有効であるようだ - もちろん、Facebookはこの時点でブラウザが閉じられていることを知らないかもしれない。 実際にFacebookにログインした後、そしてFacebookからログアウトせずにブラウザを閉じた後に、ユーザーがFacebook Cookieを含む最初のリクエストを行った状態を区別する方法はありますか?私は、JS SDKはクッキーの年齢とブラウザの稼働時間を比較していると思いますが、それはサーバー側をトリガーできるものではありません... – cschramm

関連する問題