2

我正在查看 oauth+php 示例(http://code.google.com/p/oauth-php/wiki/ConsumerHowTo#Two-legged_OAuth)。有两种不同的模式可以获得授权:3-legged 和 2-legged。有什么不同?我应该什么时候使用它们中的每一个?

先感谢您!

4

2 回答 2

2

引用的 URL 提供了一个不错的概述。

在谷歌土地上:

  • 2-legged OAuth (2LO) 通常用于 Google Apps。在这种情况下,域管理员可以预先批准应用程序访问域上的用户数据的授权(例如:DocuSign 可以代表 example.com 域上的所有用户访问 Google 文档)。管理员通过 Google Apps 控制面板或从 Google Apps Marketplace 安装应用程序来执行此操作。由于批准发生在 OAuth 流程之外——应用程序只需要证明其身份,然后在发出请求时由 API 服务器验证数据访问的授权。通常,应用程序使用 API 调用中的 ?xoauth_requestor_id=user@example.com 查询参数来指示用户代表它发出请求。
  • 3-legged OAuth (3LO) 是指在需要授权时直接提示最终用户进行授权。这是“正常”的流程。
于 2012-05-22T01:50:12.783 回答
1

从示例中,我猜 2-legged auth 只是更简单,并且允许您仅调用服务器提供的具体方法,因此每次应该进行方法调用时都必须进行身份验证。使用 3-legged auth 时,您可以访问所有可能的服务器,然后选择具体的服务器,然后您可以调用任何您想要的方法,一旦您通过身份验证和授权......

于 2012-05-21T13:40:40.943 回答