我知道我已经看过使用Facebook登录我的应用程序但从未向我提供授权屏幕。我不能,为了我的生活,弄清楚如何使用Windows Phone 7做到这一点。我能够得到的最好的是使用Facebook for C#SDK来获取WebView中的授权屏幕。这看起来很可怕,而且页面似乎甚至看不到移动设备。
我搜索了高低,找不到任何答案。想知道是否有人可以指出我正确的方向让这个工作?
答案 0 :(得分:0)
是的,我也看到过这种应用程序(例如Spotify会提示您输入您的Facebook帐户凭据,而不是使用正常的授权流程)。我最好的猜测是,他们要么是某种高级合作伙伴,要么可以访问某些私有API,要么使用自定义授权流程(例如,当您在网站上授权应用程序时,系统会将授权密钥保存在数据库中。相同的应用程序ID /然后在Windows Phone应用程序中使用secret,您需要做的就是键入您的电子邮件/用户名,以便系统找到之前保存的授权密钥。
我也不喜欢使用WebBrowser控件显示Facebook登录/身份验证的方法(主要是因为UI不一致)但我会说这仍然是大多数情况下的方法(因为这是官方和建议的授权应用程序的方式和所有其他方法对我来说似乎很苛刻,也有其缺点)。
您将希望使用“服务器端身份验证”方法。以下文档描述了它的工作原理:Server-side authentication(另请阅读OAuth Dialog文档,了解如何配置身份验证对话框)。您可以通过传递display
参数(touch
或wap
)来更改用户界面的显示方式。
请注意,display=touch
目前在Windows Phone中已被破坏 - Facebook总是回退到wap
,已弃用,将根据July 2012 update删除(相应案例:{{3} })。它也是Facebook C#SDK项目页面中的已知问题:Facebook API can't be used with Windows Phone apps。
希望这能澄清一些事情。