3

認証にFacebookJavaScriptSDKを使用するWebサイトからユーザーを「切断」しようとすると、代わりにユーザーの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()を呼び出すのと同じ効果があります。

何が間違っているのですか、それとも代わりにバグを報告する必要がありますか?

ありがとう!

4

1 に答える 1

3

結局のところ、私の実際のコードは、実際にはFB.logout()を呼び出していました。おっと!

于 2011-03-21T16:32:22.120 に答える