asp.net - 通过 Linkbutton 注销 Facebook

标签 asp.net facebook logout linkbutton

我在 StackOverflow 和互联网上浏览了很多关于如何通过 ASP.NET LinkBut​​ton 将用户从 Facebook 注销的帖子。

我尝试实现以下帖子中的解决方案:

代码

ASPX 页面

<asp:LinkButton ID="LogoutButton" CssClass="log-out fb"  OnClick="LogoutButton_Click" runat="server">Logout</asp:LinkButton>

JavaScript

$(".log-out.fb").click(function () {
    FB.logout(function (response) {
        //Logged out
        FB.Auth.setAuthResponse(null, 'unknown');
    });
});

HTML 输出

<a id="MainContent_LogoutButton" class="log-out fb" href="javascript:__doPostBack('ctl00$MainContent$LogoutButton','')" style="width: 66px; ">Logout</a>

我确实知道通过 Firebug 进行调试时会触发 jQuery 单击事件。 jQuery 代码与标准 HTML anchor 结合使用时工作正常,因此没有理由不能在 ASP.NET LinkBut​​ton 上工作。

如有任何帮助,我们将不胜感激。

最佳答案

感谢您的所有帮助。但我设法通过使用以下链接找到一种注销用户的方法:

https://www.facebook.com/logout.php?next=YOUR_URL&access_token=ACCESS_TOKEN

我创建了一个类似于 article 中的回调页面。一旦我收到“访问 token ”,我就设法注销用户。

这是我的回调页面的代码:

protected void Page_Load(object sender, EventArgs e)
{
    if (!String.IsNullOrEmpty(Request["code"]) && !Page.IsPostBack)
    {
        FacebookCallback();
    }
}

private void FacebookCallback()
{
    var client = new RestClient { Authority = "https://graph.facebook.com/oauth/" };
    var request = new RestRequest { Path = "access_token" };

    request.AddParameter("client_id", ConfigurationManager.AppSettings["facebook.appid"]);
    request.AddParameter("redirect_uri", ConfigurationManager.AppSettings["facebook.logout.callbackurl"]);
    request.AddParameter("client_secret", ConfigurationManager.AppSettings["facebook.appsecret"]);
    request.AddParameter("code", Request["code"]);

    RestResponse response = client.Request(request);
    // A little helper to parse the querystrings.
    StringDictionary result = QueryStringHelper.ParseQueryString(response.Content);

    string aToken = result["access_token"];

    LogUserOut(aToken);
}

private void LogUserOut(string sToken)
{
    string url = String.Format("https://www.facebook.com/logout.php?next=http://{0}/Default.aspx&access_token={1}", ConfigurationManager.AppSettings["site.url"], sToken);

    Response.Redirect(url);
}

我希望这可以帮助遇到同样问题的其他人。

关于asp.net - 通过 Linkbutton 注销 Facebook,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11792247/

相关文章:

c# - 检查 url 是否可达 - 帮助优化类

c# - 查找失败的验证器 asp.net

javascript - Facebook 图像查看器 Ajax 历史——他们是怎么做到的?

php - 如何在 CMS PHP 中自动注销非事件用户

c++ - 如何使用 C++ 在 Ubuntu 上强制用户注销?

c# - “No Application is associated with specified file for this operation”

c# - SomePanel.Controls 中的 foreach Control ctrl 未获取所有控件

javascript - Permission.Request 响应始终为 false

facebook - 手动在 header joomla 中添加 facebook 打开图

android - Fabric for Android Studio/Eclipse - 无法与其他用户登录