加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-15 22:11:34 所属栏目:百科 来源:网络整理
导读:我正在使用此功能在Facebook上注销; WebAuthenticationResult webAuthenticationResult = await WebAuthenticationBroker.AuthenticateAsync(WebAuthenticationOptions.None,new Uri(logOutUrl)); 我还没有退出.经过测试的logoutUrls; https://www.facebook.
我正在使用此功能在Facebook上注销;

WebAuthenticationResult webAuthenticationResult = await WebAuthenticationBroker.AuthenticateAsync(WebAuthenticationOptions.None,new Uri(logOutUrl));

我还没有退出.经过测试的logoutUrls;

https://www.facebook.com/logout.php?next=ms-app://s-1-15-2-3770417266-2318136516-104659947-271617402-3372047-3177875635-1623475580/&access_token=CAAWBicfyTKIBAKP1Y3SqwsmifvM8IzC8mEVudOtlkQ2vTZB2ZCVGIV4rlJGYAtHSZCE3llAE4APTwPkO01DrsGO15TvvhvxfE0ZCVZA9KaqzHOIr4gRJaBvStN5ZAFBOkgUnAh8MVDYySpcw6tg7wAi3tdSctyFScHyvC9IexktnZCCh8VIveGKA1iP3LpG2b9pZBUOQsYCxLKZBVmqSjLHN4AissXi6vqL5TTz06mUFRmKZBvxrWouEkoTaju0xDYk4gZD

https://www.facebook.com/logout.php?next=https://www.facebook.com/connect/login_success.html&access_token=CAAWBicfyTKIBAImjTd00l36CxXBKTg47IZCOApW5f8jaOZCZBc3K8DZCdUQYABsRqCRq2Q9NurBHdBBqEuEarCKDT6HGHmqLQNQ1xLsZBGSuuZAEMiSfP95jeta4IkS4GHvnue8rJxiflIeXpBQ6VWC0BtaEYLBBqaelpTwEo9uWOgcISMGXDWt51r8n0JWqnH4JaJJD0cbmm1vTt06nH4m1S9pEeFBCcZD

我的错是什么?我必须在developer.facebook.com中设置任何设置?

解决方法

根据您提供的有限信息,很少有事情:
尝试使用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将被清除.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读