2-legged OAuth2用于基于浏览器的应用程序,其中不需要隐藏任何客户端凭据。3-legged OAuth2由“Web Server Apps”使用,其中服务器之间有第三个调用。 所有内容都在这里很好地描述了。
问题是:既然2-legged看起来已经可以了,为什么还要费心去用3-legged?
这对提供者和客户端都需要更多的工作。为什么没有一个大公司采取行动并删除3-legged呢?
2-legged OAuth2用于基于浏览器的应用程序,其中不需要隐藏任何客户端凭据。3-legged OAuth2由“Web Server Apps”使用,其中服务器之间有第三个调用。 所有内容都在这里很好地描述了。
问题是:既然2-legged看起来已经可以了,为什么还要费心去用3-legged?
这对提供者和客户端都需要更多的工作。为什么没有一个大公司采取行动并删除3-legged呢?
"三脚架"不意味着某种特定类型的应用程序,如“基于浏览器的”应用程序。 "三脚架"表示应用程序代表用户直接行事。在三脚架方案中,有:
而在双脚架方案中,没有用户的概念。通常这与应用程序对应用程序的解决方案有关。在这种情况下,应用程序(消费者)代表自己行事。因此,在双脚架OAuth中,有:
区别仅在于2脚架方法中无需进行用户授权步骤。
存在2-legged场景。例如,请查看有关Google应用程序域委派管理的文档。当然,它们只能在受信任的环境中由帐户的超级所有者使用-在我上面提到的示例中:Google应用程序域管理员是他所管理的域中所有用户帐户的超级所有者。
3-legged必须在开放的Web环境中使用。您确实需要获得资源所有者的批准,以授予第三方应用程序访问其数据的权限。