Facebook SDK for .NET - 安全警告问题

时间:2013-10-03 01:09:15

标签: facebook windows-phone-7 windows-phone-8 windows-phone facebook-c#-sdk

大家。今天我在Windows Phone App中遇到以下消息:

  

成功
  安全警告:请将您的密码视为您的密码,不要与任何人共享。

当我的用户通过Web浏览器控件登录时会发生这种情况,该控件从GetLoginUrl方法Facebook SDK获取{{1}}方法的登录网址。这个问题不仅发生在我的应用程序中,我看到其他应用程序的用户遇到了同样的问题。

有人找到了解决方法吗?

我在 PictureWeather (Windows Phone 7& Windows Phone 8)和 Picture2Cams (Windows Phone 8)应用中运行此SDK。

5 个答案:

答案 0 :(得分:5)

有同样的问题。在我的应用程序中,我更改了这一行:
参数[“redirect_uri”] =“https:// www .facebook.com / connect / login_success.html”;

到这一行:
参数[“redirect_uri”] =“https:// m .facebook.com / connect / login_success.html”;

它现在有效。

答案 1 :(得分:0)

使用Facebook SDK for Windows Phone(http://facebooksdk.net/docs/phone/)在我们的WP8应用程序上遇到同样的问题,并且更改重定向URL的指示解决方案也适用于我们。

感谢您提交此解决方案。

答案 2 :(得分:0)

我自己遇到了这个问题,并且做了一些挖掘以找到问题的根源。这个问题似乎源于Facebook方面的一些未知(对我而言)改变,以前认证响应URL的形式为

https://www.facebook.com/connect/login_success.html#access_token= ...

由于某种原因,它现在从登录流程返回

https://www.facebook.com/connect/login_success.html#?access_token= ...

FacebookSDK.NET中的代码在LoginPage.xaml.cs的第104行与简单的Uri相等测试进行比较

if (e.Uri == WebAuthenticationBroker.EndUri)
当问号出现在中间时,

无法返回true。我希望Facebook会因为太多东西破坏而纠正这个问题,但与此同时,一个非常干净的解决办法是从GIT而不是NuGet获取FacebookClient来源并将比较改为此

UriBuilder clean = new UriBuilder(e.Uri);
clean.Query = "";
    if (clean.Uri == WebAuthenticationBroker.EndUri)

然后代码运行得很好,但在查看documentation on their developer site时,这似乎最终是Facebook的错误。

我希望这可以帮助其他人,我报名参加Stackoverflow只是为了发表这篇文章。 :)

答案 3 :(得分:0)

使用最新的facebook sdk for windows phone。这个问题在最新的sdk中得到了解决。我正在使用Facebook.Client 0.8.2-alpha,它的工作效果很好。我关注了http://nuget.org/packages/Facebook.Clienthttp://facebooksdk.net/docs/phone/controls/login-ui-control

答案 4 :(得分:-1)

我想他这样做的唯一方法是从他们的官方Github(FacebookFacebook.Client)下载这两个项目并在你的应用程序中引用它们而不是使用你可以从Nuget获得的DLL

有了这两个项目,您可以在文件FacebookSessionClient中的Facebook.Client项目上更改此参数。然后构建所有项目并运行。

然而,这个解决方案对我也没有用。