2

这个问题与这个问题有关: FB.logout() called without an access token

我有一个问题希望有人能帮忙。

我在上面的链接中得到了所有内容,但是当有人使用公共计算机并意外让自己登录到 FB 时,您如何处理?然后一个新用户尝试登录一个应用程序,但不是他们。我想要一个按钮让他们完全退出 FB 以“以不同的用户身份登录”。

在他们授权应用程序之前,我不能这样做,对吗?所以他们需要在别人的帐户下授权应用程序然后注销?必须有另一种方式。

任何反馈都会很棒 - 尝试搜索一段时间,但无济于事。我可能想多了,但是应该有某种方法可以“以其他用户身份登录”。

4

3 回答 3

0

将您的注销修改为以下内容:-

              function logout(response){
        console.log("From logout" + response);
        if(!response.authResponse){
            window.location = "/web/login/";
            return;
        }

           FB.logout(function(response){
               FB.Auth.setAuthResponse(null,'unknown');  
                 logout();
           });
        }

即继续向 Facebook 发送注销请求,直到实际注销发生。

于 2013-03-29T09:14:38.003 回答
0

您可以执行以下操作:

FB.getLoginStatus(function(response) {
    if (response.status === "connected") {
        FB.api("me", function(response2) {
            //  notify the user he is logged in as response2.name, and if it's not him call FB.logout
        }
    }
    else {
        // prompt the user to login
    }
}
于 2012-05-24T21:38:08.120 回答
0

尝试使用 Session 并将用户的 ID 保存在该会话中。您可以控制该会话的到期时间(如果用户在页面上没有任何活动,则默认为 20 分钟)然后在每个页面加载甚至检查该季节是否对该用户仍然有效。

页面加载事件:

if(Session["LoggedIn"]==null)
{
Response.Redirect("~/Login.aspx");
}

如果会话过期,上面的代码会将用户重定向到您网站的登录页面。

于 2013-03-29T09:20:18.550 回答