登录使用Facebook登出后出现问题

时间:2011-05-30 17:00:38

标签: c# asp.net facebook facebook-c#-sdk

我使用facebook sdk和facebook connect使用asp.net和c#将fb集成到我的网站。用户可以成功使用代码登录。我面临的问题是每当用户通过fb登录时;如果用户从Facebook的网站注销,然后尝试使用fb connect登录我的网站,则会出错:会话无效,因为用户已退出。

我应该再次提供facebook连接按钮,因为它最初会登录,但它会出错。使用的代码如下所示:

protected void Page_Load(object sender, EventArgs e)
{
        if (!Page.IsPostBack)
        {
            if (ConnectAuthentication.isConnected())
            {
                Facebook.Session.ConnectSession _connectSession = new Facebook.Session.ConnectSession(ConfigurationManager.AppSettings["ApiKey"], ConfigurationManager.AppSettings["AppSecret"]);
                if (!_connectSession.IsConnected())
                {
                    lblStatus.Text = "Please sign-in with Facebook.";
                }
                else
                {
                    Facebook.Rest.Api api = new Facebook.Rest.Api(_connectSession);

                    Facebook.Schema.user user = api.Users.GetInfo();
                    string fullName = user.first_name + " " + user.last_name;
                    lblStatus.Text = fullName;
                }
            }
            else
            {
                lblStatus.Text = "Please sign-in with Facebook.";
            }
        }
}

1 个答案:

答案 0 :(得分:2)

当用户注销时,会话无效。您需要让用户再次登录。如果您不想这样做,请在身份验证期间请求“offline_access”扩展权限。这样用户就不必登录了。

仅供参考,您必须在2011年9月1日之前转移到OAuth。之后Facebook将仅支持OAuth。