Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何从Facebook注销或清除WebAuthenticationBroker上的Cookie?_C#_Facebook_Windows 8_Logout - Fatal编程技术网

C# 如何从Facebook注销或清除WebAuthenticationBroker上的Cookie?

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中设置任何设置?根据您提供的有限信息,我可以做以下几件事

我使用此功能在Facebook上注销

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);