是否可以使用facebook oauth 2.0身份验证创建桌面应用程序而无需浏览器交互?

时间:2010-10-14 19:29:37

标签: facebook

是否可以拥有一个可以使用Facebook进行身份验证但不需要浏览器的客户端应用程序(我的意思是代码中没有嵌入式浏览器)?用户输入用户名/密码,仅允许使用客户端应用访问应用。

任何建议都会有很大的帮助。

谢谢, 塔拉辛格

编辑:我在Python中创建了需要浏览器交互的应用程序。现在我想摆脱它,只使用我的客户端应用程序。任何链接/教程??

再次感谢

6 个答案:

答案 0 :(得分:13)

我知道这是一个古老的问题而且它得到了解答,但我想'马口GET'。来自Facebook:https://developers.facebook.com/docs/authentication/ ...

  

我们的OAuth 2.0实施没有   包括显式桌面应用支持。   但是,如果您的桌面应用程序可以嵌入   Web浏览器(大多数桌面框架   例如.NET,AIR和Cocoa支持   嵌入浏览器),你可以使用   客户端流程与一个   修改:特定的redirect_uri。   而不是要求桌面应用程序   托管一个Web服务器并填充   我们在Developer App中的站点URL   提供您可以使用的特定URL   使用桌面应用:   的 https://www.facebook.com/connect/login_success.html ... [续]

答案 1 :(得分:8)

实际上答案绝对不是。

为了授权您的应用,用户必须在Facebook网站上输入他们的Facebook用户名和Facebook密码,您需要使用网络浏览器。没有办法跳过这一步(你不能问他们的用户名和密码是什么,然后自动交换访问令牌)。您可以阅读有关此here的更多信息。

答案 2 :(得分:1)

绝对是的,但是,在我们提出很多建议之前,我们需要知道您想要使用哪种编程语言。

例如,可以使用httpclient for java和python来封装所需的所有功能,其他人可以使用它们用于C,C ++,perl等的库。

[编辑]
搜索httpclient以及它如何与python一起使用。如果你在你的系统上运行wireshark,你将能够观看数据交换(如果你不完全理解http协议),然后在你的代码中实现它。
[/ edit]

答案 3 :(得分:1)

在这方面有一些很好的联系: http://developers.facebook.com/blog/post/289/

https://developers.google.com/identity-toolkit/ https://developers.google.com/accounts/docs/OpenID

http://facebooktoolkit.codeplex.com/ http://csharpsdk.org/

http://blogs.msdn.com/b/appfabric/

答案 4 :(得分:0)

显然现在你可以,如果你是他们最新功能的测试版测试人员:https://developers.facebook.com/docs/authentication/devices/让我想起了Wifi上的PIN码

答案 5 :(得分:0)

是和否,

我的服务器遇到了同样的问题。它只是控制台,所以我不得不提出解决方案。首先我使用lobo java webbrowser登录。我已将lobo的cookie转移到我的服务器上。