适用于桌面客户端的Gmail IMAP OAuth

时间:2010-04-17 14:36:04

标签: oauth gmail-imap

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

1。 他们在this documentation说:

  

注意:虽然是OAuth协议   支持桌面/已安装   应用程序用例,仅限Google   支持Web应用程序的OAuth。

但他们也有OAuth for installed applications的文件。

2。 当我读到他们指出的OAuth specification时,它说(见第11.7节):

  

在许多应用中,消费者   申请将受到控制   可能不受信任的政党。对于   例如,如果消费者是自由的   可用的桌面应用程序,   攻击者也许可以下载一个   复制分析。在这种情况下,   攻击者将能够恢复   消费者秘密用于验证   消费者对服务提供商。

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

据我所知,对于已安装的应用程序,我可以使用以下设置:

  1. 在我的应用程序中为example.com提供一个小型网络应用程序。这个与Google交流的网络应用获取了访问令牌。

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

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

  4. 我现在很困惑。 这是唯一的方法吗? 此外,如果我从桌面应用程序执行OAuth,我们必须使用应用程序发送Consumer Secret密钥。然后,我们无法保持消费者密钥的保密性。

1 个答案:

答案 0 :(得分:2)

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

  1. 文档过时(2008)
  2. 这是有道理的,但仅适用于不以安全方式存储访问令牌的应用程序。
  3. 您的设置很好,但我不认为有一个与谷歌谈话的网络应用程序是强制性的;例如,您的用户只需将“请求令牌”复制并粘贴到您的桌面客户端应用程序即可。