php + oauth:3脚和2脚身份验证有什么区别?

时间:2012-05-21 13:17:04

标签: php oauth

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

提前谢谢!

2 个答案:

答案 0 :(得分:2)

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

在Google土地上:

  • 两条腿OAuth(2LO)通常用于Google Apps。在此方案中,域管理员可以预先批准应用程序的授权以访问域上的用户数据(例如:DocuSign可以代表example.com域上的所有用户访问Google Docs)。管理员通过Google Apps控制台或通过Google Apps Marketplace安装该应用程序来执行此操作。由于批准发生在OAuth流程之外 - 应用程序只需要证明其身份,然后在发出请求时由API服务器验证数据访问授权。通常,应用程序代表用户使用API​​调用中的?xoauth_requestor_id = user@example.com查询参数发出请求。
  • 三脚OAuth(3LO)是指您在需要授权时直接提示最终用户进行授权的时间。这是“正常”的流程。

答案 1 :(得分:1)

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