0

我正在尝试在我的网站上实现 Facebook 登录作为身份验证的一部分,并为此使用 Facebook JavaScript SDK。

使用了一个简单的代码

window.fbAsyncInit = function() {
FB.init({ appId: 'xxxxxxxxxxxxx', //change the appId to your appId
    status: true, 
    cookie: true,
    xfbml: true,
    oauth: true});

function updateButton(response) 
{       
    if (response.status === 'connected') 
    {
        $('#fb-auth').on('click',function(){
            FB.api('/me', function(info) {
                login(response, info);
            });


            //FB.logout(function(response) {
                //logout(response);
            //});
        });
    }
    else 
    {
        $('#fb-auth').on('click',function(){
            FB.login(function(response) {
                if (response.authResponse) {
                    FB.api('/me', function(info) {
                        login(response, info);
                    });    
                } 
                else {
                    ;
                }
            }, {scope:'email,user_birthday,status_update,publish_stream,user_about_me'});   
        });
    }
}
FB.getLoginStatus(updateButton);
//FB.Event.subscribe('auth.statusChange', updateButton);  
};    

Facebook 登录工作正常,但我想做的是,当他们下次尝试使用 Facebook 登录时,他们应该得到登录弹出窗口和以其他用户身份登录的选项。

首次登录后,下次当他们再次尝试使用 facebook 登录并在另一个选项卡中登录 facebook 时,它只是将他们重定向到登录页面,而没有任何弹出窗口或任何东西。

任何人都可以给我一些指示,以实现这一目标。

4

1 回答 1

0

如果您想在用户每次访问应用程序时登录,您应该实现FB.logout,当您获得应用程序启动时的状态connected时。getLoginStatus()

所以会话被销毁然后你可以FB.login再次调用。就像-

// app starts here
FB.getLoginStatus()
{
    if(status == "connected")

        // call FB.logout()
        // call FB.login()

    else

        // call FB.login()

 }
于 2013-08-25T09:47:04.910 回答