Google API:如何在不重定向的情况下进行身份验证?

FMa*_*008 13 oauth google-docs-api oauth-2.0

当我们的最终用户在我们的网站上执行某些操作时,我们希望使用Google Doc API生成文档(在我们自己的商家帐户中).

问题是我们已尝试实施OAuth 2.0协议,如v3.0协议文档中所述.apiClient :: authentication方法执行重定向.这是一个主要问题,因为我们的用户不知道对我们自己的商业帐户的访问....我们也不想让他们访问;)

(换句话说,我们不是创建一个允许我们的用户编辑他们自己的数据的应用程序,而是与我们的数据交互,比如数据库.)

我已经读到OAuth 2.0的目的是避免我们管理用户的凭据.我个人对此概念很满意,但在我们的情况下,我们不希望在用户的Google帐户中进行身份验证...

那么,在没有最终用户的任何交互的情况下获得有效身份验证的最佳方法是什么?

Chr*_*ars 17

您所描述的并不是如何设计使用三脚OAuth.

三脚OAuth是关于委托身份验证的,其中用户(知道他的密码)可以向应用程序授予有限和可撤销的资源访问权限.该应用程序永远不会看到用户的密码.涉及到安全允许应用程序模拟用户的大量工作.

您可能想要的是使用(2-legged)OAuth流,其中consumer_id/consumer_secret凭证嵌入在您的应用程序中.在这里,您的应用程序不会冒充您的最终用户,也不会涉及浏览器重定向.

以下是有关在Google Apps中使用双向OAuth的更多信息:http: //googleappsdeveloper.blogspot.com/2011/07/using-2-legged-oauth-with-google-tasks.html

这是对3对双腿OAuth的一个很好的描述:http: //cakebaker.42dh.com/2011/01/10/2-legged-vs-3-legged-oauth/

  • 这两个链接都是 oauth1,而不是 OAuth2 中的名称。在 OAuth2 中,它被称为“客户端凭据”:http://tools.ietf.org/html/rfc6749#section-1.3.4 (2认同)