当 2 条腿运行良好时,为啥还有 3 条腿 OAuth2?

Posted

技术标签:

【中文标题】当 2 条腿运行良好时,为啥还有 3 条腿 OAuth2?【英文标题】:Why is there 3-legged OAuth2 when 2-legged works so well?当 2 条腿运行良好时,为什么还有 3 条腿 OAuth2? 【发布时间】:2012-11-02 09:35:39 【问题描述】:

2-legged OAuth2 用于基于浏览器的应用程序,其中不能对公众隐藏任何客户端凭据。 3-legged OAuth2 由“Web 服务器应用程序”使用,其中服务器之间有第三次调用。 All well described here。

问题:既然 2 腿似乎没问题,为什么还要为 3 腿而烦恼?

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

【问题讨论】:

hueniverse.com/2012/07/on-leaving-oauth 正在更新链接...aaronparecki.com/articles/2012/07/29/1/oauth2-simplified 很好的链接@Adrian 谢谢 【参考方案1】:

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

    一个应用程序(消费者), 用户(资源所有者)和 API(服务提供者)。

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

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

不同之处在于两条腿的方法不需要用户授权步骤。

【讨论】:

是的,你是对的。我误解了“2-leg”和“3-leg”的实际含义。我会设置一个新问题。既然您看到了我的错误,我会将此答案视为正确的。 仅供参考:***.com/questions/13387698/… 这就是我喜欢 SO 的原因!【参考方案2】:

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

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

【讨论】:

是的,我搞混了。 (见***.com/questions/13369516/…) 仅供参考:***.com/questions/13387698/…

以上是关于当 2 条腿运行良好时,为啥还有 3 条腿 OAuth2?的主要内容,如果未能解决你的问题,请参考以下文章

Google Maps JS - 仅渲染路线的一条腿

“两条腿”走路的德邦,如何拿下净利润大增超400%神话?

读《幼儿园语言活动中民间童谣资源的运用研究》后感

FreeSWITCH:有没有办法通过本机 API 从另一条腿获取音频流

蘑菇加一物,赛过神仙药!你竟然还不知道?

自动驾驶产业进入“两条腿”时代:车路协同的中国式飞跃