OAuth和OAuth 2.0有什么区别?

6

可能是重复问题:
OAuth 2和OAuth 1有什么不同

我知道这两个不兼容。但是,已经实现了OAuth 1.0后,切换到OAuth 2.0容易吗?谢谢

3个回答

11

OAuth 1.0 和 2.0 是两种完全不同的协议。然而,它们都旨在解决几乎相同的基本用例,并且大多数开发新版本的人都有工作中的 1.0 实现。因此,他们都确保升级是微不足道的。

使用 2.0 时,您在发布和身份验证访问令牌方面有更多选择。早期支持 2.0 的提供者使用 Bearer 令牌,这些令牌通过 HTTPS 发送,自己不包括任何加密。另一个(更好的)选择是使用 MAC 令牌,其设计类似于 OAuth 1.0 HMAC-SHA1,但使用起来更简单(没有疯狂的参数规范化)。

主要区别和过渡可能更复杂的地方在于处理大规模问题。2.0 处理比 1.0 显着更好的规模(实际上 1.0 很糟糕)。因此,如果您需要扩展性,2.0 将使您的生活变得轻松得多,但为了利用它,您需要做一些工作。


1

OAuth 2依赖于https进行安全验证,您不再需要“签署”请求,只需将API密钥和令牌作为查询字符串参数发送即可。

它非常容易实现,您不需要使用任何库或类似的东西。

查看Facebook的图形API以开始使用OAuth2!


虽然这是真的,但是库确实使事情变得更容易。例如,一个好的库将使从刷新令牌获取新访问令牌的过程变得非常简单。 - Bob Aman
我拥有一个库,我可以告诉你,在OAuth 2.0的情况下几乎是不必要的。 - Pablo Fernandez
当然可以,但你是在做哪个流程? - Bob Aman

1

OAuth 2.0尚未最终确定,与1.0相比有很大的不同。因此,1.0的经验对于2.0的帮助并不是很大,尽管它确实有一些帮助。

正如已经指出的那样,主要的区别在于它依赖HTTPS进行安全验证,因此您不再需要签署请求。如果没有XSS攻击和Firesheep,这将是一个好消息!


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