2011-02-27 2 views
3

인증을 위해 Facebook JavaScript SDK를 사용하는 웹 사이트에서 사용자를 "연결 해제"하려고 시도 할 때마다 사용자의 Facebook 세션이 완전히 파괴됩니다 (예 : 별도 탭의 Facebook에 로그인 한 경우). 다시 로그인하려면). 다음과 같은 클라이언트 측 코드가 있습니다.Facebook에서 사용자를 완전히 로그하지 않고 앱 권한을 취소하려면 어떻게해야하나요?

$('#logout').bind('click', function(){ 

    if(FB.getSession() !== undefined){ 
     //FB.logout(); 

     // instead of logging out of facebook, just disconnect them 
     FB.api({ 
      method: 'Auth.revokeAuthorization' 
     }, function(response){ 
      console.log('auth revoke', response); 
     }); 
    } 

}); 


window.fbAsyncInit = function() { 

    FB.init({ 
     appId: MYAPPIDHERE 
     ,status: true 
     ,cookie: true 
     ,xfbml: true 
    }); 

    FB.Event.subscribe('auth.sessionChange', function(response){ 
     console.log(response); 
     location = location.href; 
    }); 

}; 

(function() { 
    var e = document.createElement('script'); 
    e.async = true; 
    e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js'; 
    document.getElementById('fb-root').appendChild(e); 
}()); 

jQuery가 페이지에 있다고 가정합니다. FB.api 호출은 성공적이지만 호출해야하는 것보다 "더 강력"한 것 같습니다. 기본적으로 FB.logout()을 호출하는 것과 같은 효과가 있습니다.

무엇이 잘못 되었나요? 아니면 버그를 제출해야합니까?

감사합니다.

답변

3

사실, 내 실제 코드는 실제로 관계없이 FB.logout()을 호출하고있었습니다. 죄송합니다.

관련 문제