微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – 如何从Facebook注销或在WebAuthenticationBroker上清除cookie?

解决方法

根据您提供的有限信息,很少有事情:
尝试使用Web身份验证代理完成干净注销时,您的第二个已尝试的URL更接近标记,但它存在一些问题:

开始是正确的:“https://www.facebook.com/logout.php?”

logout重定向url作为参数传递给查询字符串[next]
其中包含:“login_success.html”
需要进行网址编码.
(另一方面,你被重定向到主页,这是你的发现)

访问令牌我认为这是正确的.

当你打电话给它时,你最终会在空白页面显示成功字样,以及来自Facebook的快乐警告信息,你应该小心地在查询字符串上传递访问令牌.

但这不是问题,因为最终用户无法访问该数据.使用Web身份验证代理时.

在修复url编码之后,您将遇到的下一个问题是用户被留在这个丑陋的页面,带有Facebook安全警告消息,用户必须单击其设备上的后退导航按钮才能返回到应用程序,这是不理想的,Facebook警告页面也没有告诉最终用户这样做.

因此,为了反击行为,这个状态将Web身份验证代理作为触发注销请求和检测回调状态的不同方法.

所以最好给你看一些代码:)

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

你会看到我使用了WebAuthenticationbroker.AuthenticateAndContinue而不是AuthenticateAsync这是因为通过authenticate和continue,这允许我们提供方法,以及在引擎盖下使用的第二个uri / url,如果身份验证过程结果,在一个url(以/ contains开头),我们提供的第二个url,然后这是指示器,自动将响应拉回我们的应用程序.

因此,对于上面的代码,wab(Web身份验证代理的简称)将启动它的内部Web视图控件并导航到Facebook注销URL,如您所知,并且当注销完成时,它会将webview重定向到URL :包含“login_success.html”,第二个发生的(wab)将检测到我们作为第二个参数https://www.facebook.com/connect提供的url是其中的一部分并返回给应用程序. Facebook auth令牌/ cookie将被清除.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐