2013-07-13 28 views
2

我们制作了一个CMS,允许用户通过连接器连接到Google Analytics。我正在将此连接器移植到OAuth2,并且想知道我需要注册哪种应用程序。我要注册一个可以在任意URL上运行的Web应用程序的应用程序?

问题是CMS由我们的客户端安装在任意的URL,所以我们不知道我需要注册一个Web服务器应用程序的整套重定向URL。 Google的OAuth不会让我重定向到授权请求期间传入的任意URL?

会注册已安装的应用程序,然后使用urn:ietf:wg:oauth:2.0:oob特殊重定向URI是最好的吗?看起来像这样允许用户将他们的授权代码从浏览器复制/粘贴回我们的应用程序。

在此先感谢!

回答

1

事实上,安装的应用程序将允许用户复制和粘贴,而不是注册。如果客户端是应用程序的最终用户,并且没有说将其配置为插件,然后该插件将向客户端的用户提供Web服务(此时将通过OAuth2同意对话框提示这些用户),那么这很合适。在后一种情况下,您可能想要让客户将自己的网站注册为Google的Web应用程序,并使用CMS应用程序的配置工具设置客户端的重定向URL。

为什么区别?因为在第一种情况下,同意行动是关于你与客户的关系,但在后一种情况下,它表达了你的客户和他们的用户之间的信任。例如,您不希望您的CMS应用程序因滥用而被禁用,因为它会影响您的所有客户。但是,如果您中介了您的同意书,Google就很难理解这种区别。

+0

需要说明的是,本例中的“客户端”是我们的最终用户正在授权的应用程序本身。它用于将一些Google Analytics数据导入到我们的CMS应用程序中。我没有考虑让每个客户都向Google注册我们的应用程序。老实说,这可能是更多的工作,而不是价值。因为该应用正在按照我们确定的时间表对所有API进行调用,所以我认为我们仍然有理由在开发者帐户下维护该应用。 – Bradley

+0

另外,我们发现其他使用OAuth2的API并不像限制性那样将用户重定向到授权后的位置。例如,在Twitter上,我们根据客户运行我们的应用程序的URL,以编程方式在授权请求中设置重定向URI。我很好奇Google为什么不允许我们对重定向URI做同样的事情。 – Bradley

+0

确实,考虑到您的答案,我认为您可以要求您的客户注册并将URL粘贴到其配置中。我们不允许redirect_uri注册的灵活性的原因是为了防止令牌泄漏的安全性。 – breno

相关问题