5

所以我很难理解一些东西......

如果您为 Web 应用程序执行 Oauth,您将使用回调 URL 注册您的站点并获得唯一的消费者密钥。但是,一旦您获得了 Web 应用程序的 Oauth 令牌,您就不必从您的注册域生成对 google 服务器的 Oauth 调用。我经常使用我的脚本中的密钥和令牌,这些脚本通过我的笔记本电脑上的 localhost 上的 apache 服务器运行,而 Google 从来没有说“你没有从注册的域发送这个请求”。它只是向我发送数据。

现在,据我了解,如果您对已安装的应用程序进行 Oauth,则使用“匿名”而不是从 Google 获得的密钥。

我一直在考虑仅使用 OAuth for Web Apps 身份验证方法,然后将该令牌传递给已安装的应用程序,该应用程序将我的密码嵌入其内部。担心的是代码可能被坏人发现。但是更安全的是……让它们为密码工作还是让它们默认为匿名?

如果在替代方案使用“匿名”作为秘密的情况下发现了“秘密”,那么真正的问题是什么?

4

2 回答 2

4

Web 应用程序的 OAuth 和已安装应用程序的 OAuth(例如,“匿名”/“匿名”作为您的消费者密钥/秘密)之间的主要区别在于批准页面。

对于已安装的应用程序,Google 无法验证应用程序的身份,因此会向用户显示一个黄色警告框。

对于 Web 应用程序,有一个可以验证的(应用程序的)实际 URL 。因此,不会向用户呈现丑陋的警告框。

于 2010-04-03T21:54:57.157 回答
0

在进行 OAuth 调用时,您唯一需要表明自己身份的就是签名,它是一个用您的消费者密码签名的 HMAC-SHA1 字符串。与任何域都没有关系。

唯一需要保持合理安全的是消费者的秘密。我不太明白你所说的“匿名”是什么意思......

于 2010-04-03T19:08:56.453 回答