27

2-legged OAuth2 用于基于浏览器的应用程序,其中不能向公众隐藏任何客户端凭据。3-legged OAuth2 由“Web 服务器应用程序”使用,其中服务器之间有第三次调用。一切都在这里描述得很好

问题:当 2 条腿似乎没问题时,为什么还要为 3 条腿而烦恼?

对于提供者和客户来说,这都是更多的工作。为什么其中一位大玩家不采取行动并移除三腿?

4

2 回答 2

79

三足并不意味着某种类型的应用程序,如“基于浏览器”。三足意味着应用程序直接代表用户进行操作。在三足场景中有

  1. 应用程序(消费者),
  2. 用户(资源所有者)和
  3. API(服务提供者)。

在两条腿的场景中,没有用户的概念。通常,这与应用程序到应用程序的解决方案有关。在那里,应用程序(消费者)代表自己行事。所以在两条腿的 OAuth 中,有:

  1. 应用程序(消费者),
  2. API(服务提供者)

区别只是在 2-legged 方法中不需要用户授权步骤。

于 2012-11-14T17:33:48.110 回答
1

存在两条腿的情况。例如,查看有关Google Apps 域范围内授权的文档。当然,它们只能由帐户的超级所有者在受信任的环境中使用 - 在我上面提到的示例中:Google Apps 域管理员是他所管理域的所有用户帐户的超级所有者。

3 Legged 当然必须在开放的网络环境中使用。您确实需要资源所有者的批准才能将对其数据的访问权限授予第三方应用程序。

于 2012-11-14T14:42:33.727 回答