2012-01-09 3 views
1

Facebookからログアウトしてもアクセストークンを無効と見なすことはできません。アクセストークンを正しくキャッチする方法は?

if ($user) { 
      try { 
      // Proceed knowing you have a logged in user who's authenticated. 
      $user_profile = $facebook->api('/me'); 
echo "Name: " . $user_profile['name']; 
      } catch (FacebookApiException $e) { 
    // If the user is logged out, you can have a 
      // user ID even though the access token is invalid. 
      // In this case, we'll get an exception, so we'll 
      // just ask the user to login again here. 
      error_log($e); 
      $user = null; 
      } 
     } 

私はまだFacebookのログアウト時にユーザー名を取得しています。したがって、明らかにアクセストークンはまだ有効と思われます。どうすればこの問題を解決できますか?

iframeでFB環境でのみアプリをテストする必要がありますか?

+0

誰でも??どういうわけか私は例外をキャッチできませんか? – alex

答えて

0

アクセストークンはFacebookのあなたの認証ステータスに依存しません。使用しているFacebook PHP SDKは、PHPセッションでアクセストークンを保存します。だから、あなたはあなたのセッションをきれいにすることができます。

+0

tx Olegがそれをクリアするために、私はあなたの提案を試みます。私はstart_sessionする必要がありますか?またはそれはPHP-SDKの一部ですが、FBのデフォルトコードが私の原因で機能しない理由を知っていますか?コードはhttps://developers.facebook.com/docs/reference/php/facebook-api/にあります – alex

+0

start_sessionはPHP-SDKの一部です。デフォルトのコードには有効なappIdとsecretが含まれていません;) – Oleg

関連する問題