C# 如何从Facebook注销或清除WebAuthenticationBroker上的Cookie?
我使用此功能在Facebook上注销C# 如何从Facebook注销或清除WebAuthenticationBroker上的Cookie?,c#,facebook,windows-8,logout,C#,Facebook,Windows 8,Logout,我使用此功能在Facebook上注销 WebAuthenticationResult webAuthenticationResult = await WebAuthenticationBroker.AuthenticateAsync(WebAuthenticationOptions.None, new Uri(logOutUrl)); 我从未注销过。已测试的登录URL 我犯了什么错?我必须在developer.facebook.com中设置任何设置?根据您提供的有限信息,我可以做以下几件事
WebAuthenticationResult webAuthenticationResult = await WebAuthenticationBroker.AuthenticateAsync(WebAuthenticationOptions.None, new Uri(logOutUrl));
我从未注销过。已测试的登录URL
我犯了什么错?我必须在developer.facebook.com中设置任何设置?根据您提供的有限信息,我可以做以下几件事: 通过尝试使用web身份验证代理完成干净的注销,您的第二个尝试过的url更接近标记,但是它有一些问题: 开始是正确的:“?” 作为参数[next]传递到查询字符串上的注销重新定向url 其中包含:“login_success.html” 需要进行url编码。 (另一方面,你会被重定向到主页,这就是你的发现) 我假设这是正确的访问令牌
当你调用它时,你将在空白页上,上面有成功的单词,以及来自脸谱网的一个愉快的警告信息,你应该小心地通过查询字符串上的访问令牌。
但这不是问题,因为最终用户无法访问这些数据。使用web身份验证代理时 修复url编码后,您将遇到的下一个问题是,用户被留在这个丑陋的页面上,并显示Facebook安全警告消息,用户必须单击设备上的后退导航按钮才能返回应用程序,这并不理想,Facebook警告页面也没有告诉最终用户这样做 因此,为了对抗这种状态,web身份验证代理将作为不同的方法来触发注销请求并检测回调状态 因此,最好用一些代码向您展示:) 您将看到,我使用WebAuthenticationBroker.AuthenticateAndContinue而不是AuthenticateTasync,这是因为使用authenticate and continue,这允许我们提供一种方法,在引擎盖下使用第二个uri/url,如果身份验证过程产生一个url(以/contains开头),我们提供的第二个url,然后这是一个指示器,用于自动将响应拉回到我们的应用程序因此,对于上面的代码,wab(web身份验证代理的缩写)将启动其内部web视图控件并导航到Facebook注销url,正如您已经知道的,当注销完成时,它将把web视图重定向到包含“login_success.html”的url,第二个url是(wab)将检测到作为第二个参数提供的url与此不符,并返回到应用程序。Facebook身份验证令牌/cookies将被清除。请添加有关您看到的错误行为的详细信息。解释为什么您认为代码和那些链接不起作用。你得到了什么错误(如果有的话)。当我一直调用此URL时,facebook重定向到。但我希望重定向登录页面
_logoutUrl = FBClient.GetLogoutUrl(new
{
next = "https://www.facebook.com/connect/login_success.html",
access_token = //your access token (string)
});
var url = new Uri("https://www.facebook.com/connect");
WebAuthenticationBroker.AuthenticateAndContinue(_logoutUrl, url);