내 iframe Facebook 응용 프로그램에서 Facebook 로그인 정보를 얻기 위해 Facebook php-sdk를 사용하고 있습니다. facebook 계정> 로그 아웃 링크를 사용하여 로그 아웃 한 직후 세션이 아직 삭제되지 않았습니다. 이전 세션이 만료되기 전에 몇 분 기다려야합니다. 그런 다음 내 앱이 올바른 로그인 상태를 다시 얻습니다.Facebook API - 사용자 로그 아웃 후 세션이 남아 있습니다.
페이스 북은 사용자가 로그 아웃 할 때 자신과 세션을 죽일 것으로 예상됩니다. 수동으로 세션을 어떻게 종료합니까? 이 해결
$initParams = array(
'appId' => $conf['app_id'],
'secret' => $conf['secret_api_key'],
'cookie' => TRUE,
);
$fb = new Facebook($initParams);
$fb->getSession(); // will return a session object eventhough user signed out!
: 사용자가 이전에 로그 아웃 경우
가 $fb->api('/me')
를 호출하는 세션을 파괴
여기 내 코드입니다. 나는 다음과 같은 내 코드를 변경했습니다 : API 호출에 실패
if ($session)
{
try
{
$fbuid = $fb->getUser();
$me = $fb->api('/me');
}
catch(FacebookApiException $e){}
}
경우, $session
이 NULL로 설정됩니다. 매우 이상한 행동, 여기서 진행되는 모든 것을 설명하지는 않지만 잔여 세션 객체가 getSession()
메소드를 통해 업데이트되지 않는 문제를 해결했습니다.
경우]를 로그 아웃 URL 링크가 올바르게 작성되었습니다. 코드에 문제가 없어야합니다 .. 프런트 엔드 페이지를 표시 할 수 있습니까? – ifaour
댓글에 명확하게 명시된 것처럼 이상한 행동이라고 생각하지 않습니다. [여기] (https://github.com/facebook/php-sdk/blob/master/examples/example.php) _ 우리는 그 사실을 알지 못합니다. 우리가 session._ – ifaour
을 사용하여 API 호출을하기 전까지는 여전히 유효합니다. 예제 코드의 주석을 제대로 읽지 못했습니다. 입력 해 주셔서 감사합니다. – flochtililoch