17

我在互联网上寻找一些关于这方面的信息,最后在 RFC 上找到了Oauth 1.0 协议https ://www.rfc-editor.org/rfc/rfc5849

您可以阅读其顶部的“Obsoleted by: 6749”,如果您点击该链接,您最终将获得OAuth 2.0 授权框架RFC。

基于此,我可以安全地推断 OAuth 1.0 已被弃用,取而代之的是 OAuth 2.0?

谢谢。

4

4 回答 4

23

是和否。

IETF 发布了 OAuth 2 的新版本以淘汰 OAuth 1.x,它强烈建议新的 Auth 提供者切换到 OAuth2。

OAuth 1.0a 有一个修订版,它修复了 1.0 中发现的许多安全漏洞,被广泛认为是迄今为止最安全的 OAuth 版本。

OAuth2 是一个全新的协议,不向后兼容 OAuth 1.x。此线程中列出了与 OAuth 1 的主要区别。

然而,并不是每个人都对新标准感到满意。OAuth 规范的主要作者和编辑 Eran Hammer-Lahav 以这篇博文中的理由从委员会辞职。

Homakov 因在 Github 上的利用而声名鹊起,但他对 OAuth 2 的评价并不好

所以,是的,OAuth 2 已经正式取代了 OAuth 1.x,但是对于应该使用 OAuth2 还是坚持使用 OAuth 1.0a,网络上存在着相互矛盾的意见。

于 2013-07-24T13:58:36.837 回答
6

是的 )

大多数公司使用 2.0 - 例如google

重要提示:OAuth 1.0 已于 2012 年 4 月 20 日正式弃用。它将根据我们的弃用政策继续有效,但我们建议您尽快迁移到 OAuth 2.0。

但是有一些使用 1.0 或 1.0a,您可以在wiki:OAuth 服务提供商列表一章中看到 OAuth

还有一个官方信息说 1.0 is deprecated RFC 6749: The OAuth 2.0 Authorization Framework

.. 本规范取代并废弃了 RFC 5849 中描述的 OAuth 1.0 协议。

RFC 5849 是OAuth 1.0 协议

于 2013-07-23T13:23:34.220 回答
5

您的问题的直接答案是肯定的。从OAuth 2.0 规范

本规范的目的是新实现支持本文档中指定的 OAuth 2.0,并且 OAuth 1.0 仅用于支持现有部署。

虽然我更喜欢 OAuth 2.0,并且已经实现了 2.0 授权服务器并为规范做出了贡献,但我不能说一个比另一个更好。我确实相信 2.0 更容易使用。

作为一个有用的协议,OAuth 1.0 并没有过时或无关紧要。从 1.0a 版(RFC 5849 为 1.0a)开始,我知道没有任何漏洞会导致它的安全性低于 2.0,事实上它可以说默认情况下更安全。1.0 同样能够处理大多数用例。

OAuth 2.0 与 OAuth 1.0 不兼容;这是一个全新的协议。推动 2.0 开发的设计决策并非源于 1.0本身的缺陷,而是 2.0 是出于使 OAuth 更易于实现的愿望,并且对于 1.0 难以使用的用例(例如本机应用)。

一些可能值得注意的差异:

  • 2.0 依赖于 TLS 加密连接提供的安全性。1.0 不需要 TLS,因此协议更加复杂,因为它必须包含自己的防御机制来抵御中间人攻击。例如,1.0 依赖签名请求来访问受保护的资源,而 2.0 提供了简单的Bearer访问令牌类型。

  • 2.0 将 OAuth 服务器分为两个概念角色:(1)授权服务器和(2)资源服务器。这种关注点分离自然适合授权关注点分布在负责不同类型资源的许多服务器的企业。

  • 2.0 区分机密客户和公共客户。公共客户端是在用户设备上运行的客户端,因此它们不能可靠地保密(硬编码的嵌入式凭据)。区分机密客户端和公共客户端可以更轻松地做出适合客户端应用程序开发人员需求的安全实施决策。

  • 2.0 引入了多种授权授予类型。每种授权类型都有自己的协议流,这些协议流使 OAuth 2.0 适用于多种用例和客户端类型。

  • 2.0 在可扩展性方面做了很大的努力。规范的第 8 节规定了定义新的访问令牌类型、授权类型和协议参数。例如,除了不记名令牌之外,还涉及MAC 令牌JWT 不记名令牌

这是主观的,但有人可能会说 OAuth 2.0 试图对许多用例保持灵活,其中 OAuth 1.0 要求开发人员将他们的用例适应更严格的框架。

于 2013-07-30T06:35:38.153 回答
1

我真的不认为您可以说 OAuth 1.0 已被弃用,取而代之的是 OAuth 2.0。如果它适合您的需求,您仍然可以使用 1.0。

2.0 更适合像 Twitter 这样的大规模弃用,并将其 API 从 1 更改为 1.1,以便使用新的 OAuth,但这与 twitter 有关。在另一种情况下,可能是 1.0。仍然可以完美运行,因此无需升级。

OAuth 2.0。必须更多地使用公共加密,公钥。而且不是私人的,也不是什么好消息,因为这种方法现在已经众所周知。因此,对于好与坏,仍有不同的看法。

这里是 Oauth2.0 和地狱之路,这里是OAuth 2.0'bad'我想你可以找到更多有趣和详细的信息。

于 2013-07-24T14:32:12.453 回答