我正在编写一个Windows Phone 7应用程序,并使用C#sdk让Facebook登录工作,但退出已证明很有趣。我读过这篇文章:
Cannot Logout of Facebook with Facebook C# SDK
这似乎反映了FB文档,表明我应该导航到
https://www.facebook.com/logout.php?next=[redirect_uri]&access_token=[token]
然而,这不起作用,并默默地将我重定向回facebook主页。
我现在最好的猜测是facebook不喜欢我提供的“下一个”URI。我更新了我的FB应用程序设置,但要么它们还没有传播,要么其他东西仍无法正常工作。
我看过推荐使用InternetSetOption的帖子,但手机上没有该API。
在我的应用程序流程中,注销导致导航到我的应用程序中的不同silverlight页面,所以我真的不需要浏览器重定向用于我的目的,所以我可以“忘记”访问令牌而不实际告诉FB使它无效,但这看起来很脆弱和不安全。
因此,当我等待更长时间查看应用程序域更改是否在FB的服务器上传播并解决问题时,我有一个不同的问题:
为什么Facebook API会关心我是否提供“下一个”?我不应该只是告诉他们使令牌无效并让它发生吗?
我在这里缺少一个逻辑片吗?
谢谢!
答案 0 :(得分:0)
更新:我写了一个允许这个的开源Facebook login/logout control for WP7(查看示例项目)。它主要使用Web浏览器控件导航到注销页面,然后通过将javascript注入Web浏览器控件来提交注销表单。这个想法来自这个blog post。
最接近的方法是通过向记录的here发出HTTP DELETE到/ me / permissions来撤销扩展权限。简单地忘记身份验证令牌也不是一个糟糕的选择,因为除非您要求offline_access,否则访问令牌通常只会持续一两个小时。如果用户过于担心,他们可以在facebook.com的设置页面上删除您的应用程序。