3

我正在为 Windows Phone 8 开发一个应用程序,我希望用户可以使用他们的 Facebook 帐户登录,这样他们就不必在我的应用程序上创建帐户。

我看到了 Facebook SDK for .NET 并决定使用它,因为它看起来非常高效和流行。

作为初学者,我按照 SDK 文档中的教程进行操作:http: //facebooksdk.net/docs/phone/tutorial/

我在教程中做了完全相同的事情,自从我登录后一切都很好。我单击登录按钮,我被重定向到教程中他们称之为“FacebookLoginPage”的内容(一个带有空网格的 .xaml,以便网络浏览器可以放入其中),然后出现带有 Facebook 页面的网络浏览器,我可以输入我的登录名和密码。之后,我被重定向到请求我的 Facebook 帐户权限的页面,我单击“确定”。到目前为止一切都很好。

然后是我的问题。我应该被重定向到他们在教程中所谓的“LandingPage”,而不是我被重定向到显示的 facebook“login_success”(https://www.facebook.com/connect/login_success.html) “成功”,也是一个安全警告,然后什么都没有发生了......

我认为我的代码中的某些内容不正确,所以我花了几个小时来处理它,但没有找到任何东西。所以我尝试运行他们在网站文档中提供的示例应用程序,我只是修改了其中的 Facebook AppID(我已经放了我的),同样的事情发生了。我还尝试了在诺基亚开发者维基上找到的其他东西,同样的事情。

所以我认为我的 Facebook 应用程序有问题,但我找不到它是什么......有人可以给我一些帮助吗?我要死在这里:(

我提前为我的英语错误道歉,祝你有个美好的一天!

更新:我终于按照本教程http://developer.nokia.com/Community/Wiki/Integrate_Facebook_to_Your_Windows_Phone_Application

4

3 回答 3

1

重定向到“ https://www.facebook.com/connect/login_success.html ‎”应该包含 accessToken 作为 url 参数,因此如果您允许导航到此 url,它确实存在安全风险,因为它会暴露 AccessToken。您需要从 WebBrowser 控件中侦听“导航”事件,如果浏览器正在导航到“ https://www.facebook.com/connect/login_success.html ”,那么您需要取消导航并获取 AccessToken从 url 参数。

更新:看起来 FB 将他们的 OAuth 登录响应从 ...login_success.html#access_token= 更改为 ...login_success.html?#access_token= 现在有一个“?” “#”字符之前的字符。

于 2013-10-16T17:55:12.200 回答
0

我最近在商店的很多应用程序中都看到了这一点,因此可能不是您做错了什么,而是 Facebook 的更改尚未反映在 SDK 中。

您是否尝试过改用 Windows Azure 移动服务身份验证?

请参阅http://www.windowsazure.com/en-us/develop/mobile/how-to-guides/register-for-facebook-authentication/http://www.windowsazure.com/en-us/上的指南开发/移动/how-to-guides/register-for-facebook-authentication/了解更多信息。

于 2013-10-16T17:29:48.993 回答
0

我正在使用适用于 WindowsPhone 的 Facebook SDK .NET 的 LoginButton 控件,并且遇到了同样的问题。

我修复它,从 github Facebook-WinClient-Sdk下载项目并更改 FacebookSessionClient 类的第 186 行,为此:

Uri endUri = new Uri(" https://m.facebook.com/connect/login_success.html?#access_token ");

.net 的 facebook sdk 团队肯定会解决这个问题,但我今天有一个演示,需要它工作!

于 2013-10-17T11:14:27.260 回答