OAuth和OAuth 2.0有什么区别?

时间:2011-04-13 02:44:33

标签: oauth oauth-2.0

  

可能重复:
  How is oauth 2 different from oauth 1

我知道这两个不是向后兼容的。但是,已经实施OAuth 1.0,是否可以轻松切换到OAuth 2.0?感谢

4 个答案:

答案 0 :(得分:11)

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

使用2.0,您可以获得更多关于如何发布和身份验证访问令牌的选择。具有早期2.0支持的提供商使用通过HTTPS发送的承载令牌,并且不包括任何自己的加密。另一个(更好)选项是使用MAC标记,其设计与OAuth 1.0 HMAC-SHA1类似,但使用起来更简单(没有疯狂的参数标准化)。

主要区别和过渡可能更复杂的地方是大规模处理时。 2.0处理规模明显优于1.0(实际上它很糟糕)。因此,如果你有规模需求,2.0会让你的生活更轻松,但要利用它,你需要做一些工作。

答案 1 :(得分:2)

为什么可以在此处阅读新的OAuth版本和最重要的差异:

Introducing OAuth 2.0 - hueniverse

编辑:

Eran Hammer about OAuth 2.0: The Road to Hell

答案 2 :(得分:1)

为了安全起见,OAuth 2依赖于https,您不必再“签署”请求,只需将您的API密钥和令牌作为查询字符串参数发送。

实现起来非常简单,你不需要库或类似的东西。

检查Facebook的graph api以开始玩OAuth2!

答案 3 :(得分:1)

OAuth 2.0尚未最终确定,与1.0完全不同。所以1.0经验对2.0来说并没有多大帮助,尽管它有所帮助。

正如已经指出的那样,主要区别在于它依赖于HTTPS来实现安全性,因此您不再需要签署请求。如果没有XSS攻击和Firesheep,这将是好的!