2012-01-09 8 views
1

페이스 북에서 로그 아웃 한 경우에도 액세스 토큰을 유효하지 않은 것으로 간주 할 수 없습니다.액세스 토큰을 올바르게 잡는 방법은 무엇입니까?

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; 
      } 
     } 

나는 페이스 북을 로그 아웃해도 여전히 사용자 이름을 얻고있다. 따라서 액세스 토큰은 여전히 ​​유효합니다. 이 문제를 어떻게 해결할 수 있습니까?

아니면 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

관련 문제