3

我对所有这些 OAuth bruhaha 有点困惑,因为我能找到的所有示例都是针对 Web 应用程序的,而没有一个是针对桌面应用程序的。

我了解 Web 应用程序的工作流程,但这包括 Web 应用程序和 twitter 之间的一些重定向。

  • 如何在桌面应用程序中做到这一点?
  • 重定向如何工作?
  • 我是否必须包含 Web Browser 对象?
  • 有没有办法解决这个问题?
  • 谁能指出我的资源而不是完整的解决方案?

谢谢

4

5 回答 5

3

不确定您使用的是哪种语言,但名为 Tweetsharp 的 Twitter .NET 库有一篇关于从桌面应用程序使用 Tweetsharp 并通过 OAuth 进行身份验证的帖子。请参阅http://tweetsharp.com/?p=68。如果您不使用 .NET,那么也许它会激发您可以做的一些事情?

基本上,tweetsharp 所做的是将浏览器启动到身份验证 URL,然后等待用户返回。除了类似的事情之外,我不知道有任何方法可以做到这一点(或者包括某种 WebBrowser 控件以在您自己的窗口中启动身份验证 URL)。

于 2009-06-08T16:53:00.283 回答
1

这是一个简单的解决方案,实现为一组用于从命令行运行的 PHP 脚本。有据可查和解释,有一个有用的“详细”选项用于调试。

http://nullinfo.wordpress.com/oauth-twitter/

于 2010-05-16T22:46:27.297 回答
0

在四处闲逛并向其他程序员询问有关此主题的一些问题之后,看起来它仍在进行中的讨论,在隧道尽头没有可见光。

但是对于对正在进行的讨论感兴趣的人,这里是最好的链接:
OAuth Desktop Discussion

于 2009-06-09T11:21:17.417 回答
0

我已经看到一些桌面应用程序通过有效地将浏览器嵌入到他们的程序中来解决这个问题,因此他们只需打开应用程序内浏览器窗口即可让您进行登录和授权。这让我觉得有点作弊或失败,因为无论如何你最终还是要在应用程序中输入你的 ID 和密码。

我想到的一种可能性是,您的桌面应用程序可以在其中嵌入一个迷你 HTTP 服务器。因此,它会启动默认浏览器来执行授权,并带有一个类似于http://127.0.0.1:8765/oauthorized的回调 URL ,然后只听它。

那行得通吗?

不确定您会为控制台应用程序做什么...生成lynx的副本?

于 2009-06-12T06:17:40.607 回答
0
  1. 在您的应用程序中包含一个 WebBrowser 控件。将它放在一个面板或一个单独的表单中,您将使用 Form.ShowDialog()。
  2. 为浏览器成功发布 OAuth 创建一个回调,并为拒绝创建一个回调。不要忘记检查FailWhale。
  3. 在回调中,您关闭面板或表单并存储令牌。

这是一个很好的示例代码和所有内容的概述:http: //tweetsharp.com/2009/04/how-to-authenticate-a-desktop-application-with-oauth/

于 2010-02-08T14:01:23.617 回答