2010-04-17 125 views
3

最近谷歌宣布他们支持OAUth用于Gmail IMAP/SMTP。我浏览了他们的多个文档,但我仍然对他们是否支持安装的应用程序的OAuth感到困惑。适用于桌面客户端的Gmail IMAP OAuth

1. 在this documentation他们说:

注:虽然OAuth协议 支持桌面/安装 应用程序使用的情况下,谷歌只 支持OAuth的Web应用程序的。

但他们也有一个文件OAuth for installed applications

2. 当我看到他们所指向的OAuth specification,它说(第11.7节):

在许多应用中,消费者 应用将是潜在的不受信任的第三方的控制下 。例如,如果消费者是免费的可用桌面应用程序,则攻击者可能会下载 副本进行分析。在这种情况下,攻击者将能够恢复消费者用于向服务提供商认证 的消费者密钥 。

此外,我认为上述第1点的免责声明约为Google Data APIs,当然IMAP/SMTP不是其中的一部分。

我明白,安装的应用程序,我可以有一个像设置:

  1. 在说example.com有一个小的web应用程序为我的应用程序。这个网络应用与谷歌会谈获取访问令牌。

  2. 已安装的应用程序仅与example.com通信以获取访问令牌。

  3. 安装的应用程序然后使用访问令牌与Google进行对话。

我现在感到困惑。 这是唯一的方法吗? 另外,如果我通过桌面应用程序进行OAuth,我们必须将应用程序的消费者密钥发送出去。那么,我们不能保持消费者密钥的保密性。

回答

2

是的,Oauth支持已安装的应用程序;请参阅Gmail IMAP and SMTP using OAuth文档。

  1. 文档简直是过时的(2008)
  2. 这是有道理的,但只是对应用程序不访问令牌存储在一个安全的方式。

你设置好,虽然我不认为有网络的应用程序,与谷歌会谈是强制性的;例如,您的用户可以将“请求令牌”复制并粘贴到桌面客户端应用程序。

+0

仍然桌面客户端应与消费者密码一起发货。不是吗? – Sabya 2010-04-19 10:33:19

+0

你是什么意思? – systempuntoout 2010-04-19 10:57:38

+0

澄清问题。 – Sabya 2010-04-20 05:31:09