【问题标题】:Difference between OAuth 2.0 Two legged and Three legged implementationOAuth 2.0两条腿和三腿实现之间的区别
【发布时间】:2023-03-26 06:10:01
【问题描述】:

您能否解释一下 OAuth 2.0 两足和三足实现之间的区别。以及如何选择?哪些适合我?

【问题讨论】:

标签: oauth oauth-2.0


【解决方案1】:

首先,腿是指所涉及的角色。典型的 OAuth 流程涉及三方:最终用户(或资源所有者)、客户端(第三方应用程序)和服务器(或授权服务器)。因此,三足流涉及所有三者。

术语 2-legged 用于描述不涉及最终用户的 OAuth 身份验证请求。基本上,它是一个简单的客户端-服务器身份验证请求,其中客户端凭据(标识符和秘密)用于计算请求签名,而不是明文发送秘密。

在实现方面,2-legged 请求完全相同,但不包含访问令牌或访问令牌密钥。这两个值基本上都是空字符串。

【讨论】:

  • 感谢您强调它。因此,如果我以 Twitter 为例,它会要求我们提供两种应用程序:a) 桌面客户端 b) 网络应用程序。在桌面客户端的情况下,您的应用程序会要求用户输入 twitter 提供的 PIN,而在 Web 应用程序的情况下,这不会发生。那么,这是否意味着在桌面客户端的情况下,它是 3 条腿的,而在 Web 应用程序的情况下,它是 2 条腿的 OAuth?
  • 如果您代表用户进行 API 调用,无论它是什么类型的应用程序,您都在处理 3-legged flow。我不确定 Twitter 是否提供了 2-legged API(即与任何用户无关的 API,仅与客户端本身无关)。
  • Twitter 实际上提供了 2-legged OAuth API - 当我想使用我的帐户发送推文时使用它。基本上 2-legged OAuth 是关于直接身份验证.. 3-legged OAuth 是关于委托..
猜你喜欢
  • 2012-09-01
  • 2015-03-28
  • 1970-01-01
  • 2010-12-11
  • 2011-02-16
  • 1970-01-01
  • 2015-06-20
  • 2020-03-20
  • 2012-01-12
相关资源
最近更新 更多