OAuth 2是一个协议还是一个框架? OAuth 2是一个协议。

8
实际上,我的问题在帖子标题中。 因此,在RFC OAuth称为框架,但在许多文章中,它被称为协议。那么正确的名称是什么,为什么呢?
据我所知,协议是一组规则-在这种情况下似乎相关。在框架下,我通常理解为一组一些组件(例如编程语言类),这些组件对某个过程(例如开发)有帮助。
有人能给我澄清吗?非常感谢!
2个回答

9

来自IETF网站:

在请求评论(RFC)文档系列中的备忘录包含有关互联网的技术和组织笔记。它们涵盖了计算机网络的许多方面,包括协议、程序、概念以及会议记录、意见和有时是幽默。

例如,1981年发布的RFC 791描述了Internet协议。它描述了它的工作原理,并提供了伪代码,描述了该协议应如何实现。它不提供任何“框架”或“工具集”方面的代码,并且不告诉如何设计实际的Internet路由器。

对于RFC 6749(OAuth 2)也是如此- RFC描述了协议并讨论了如何实现。

在OAuth的情况下,RFC同时讨论了协议和框架,或多或少地作为同义词。在oauth.net网站上,甚至在首页上都是如此。RFC本身的名称是“OAuth 2.0授权框架”。因此,在这种情况下,从语义上讲我认为“协议”和“框架”都是正确的。

但实际上,您可以将RFC简单地理解为“协议定义”,而在不同语言中实际的协议实现(您可以利用)则可以视为您在问题中所描述的“框架”。


9

为了更好地理解,我认为值得观看Eran Hammer关于OAuth 2.0的视频。

https://vimeo.com/52882780

在这里,您可以了解为什么RFC 6749的标题被更改为“框架”而不是“协议”。简单来说,OAuth 2.0与RFC 6749中第1.8节所述的不可互操作性。如下所示:

然而,作为一个丰富且高度可扩展的框架,带有许多可选组件,单独使用此规范可能会产生各种不可互操作的实现。

我希望这可以帮助您更好地理解。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接