3

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

1. 在本文档中,他们说:

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

但他们也有一个用于已安装应用程序的 OAuth文档。

2. 当我阅读他们指出的OAuth 规范时,它说(在第 11.7 节中):

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

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

我了解对于已安装的应用程序,我可以进行如下设置:

  1. 在 example.com 上为我的应用程序提供一个小型网络应用程序。这个与谷歌对话的网络应用程序获得了访问令牌。

  2. 安装的应用程序与 example.com 对话只是为了获取访问令牌。

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

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

4

1 回答 1

2

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

  1. 文档已经过时(2008 年)
  2. 这是有道理的,但仅适用于不以安全方式存储访问令牌的应用程序。

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

于 2010-04-18T08:36:21.707 回答