2012-07-23 113 views
2

给我打电话给一个新手,打电话给我哑巴,对这个话题评价。尽你所能,我只是在这里问一个问题,并希望学习东西从它。对OAuth感到困惑

所以我今天一直在为我的网站制作一个API(很好的尝试),并且我注意到了大多数流行网站API(如Twitter,Foursquare,Tumblr)上的这个“事物”,称为“OAuth”。从我今天的研究中,我了解到,它基本上是一种让消费者获得来自提供者的受限数据的令牌,这取决于用户在没有用户移交密码和用户名的情况下选择的内容。

为什么我必须使用OAuth,为什么我不能只是给消费者密钥API,他们只是使用它?然后,我会看到用户是否允许访问应用程序,并且他们将不得不授予应用程序访问其帐户信息的权限,例如照片。

也让我困惑的是为什么Tumblr API使用两者。它在阅读博客详细信息时遇到困难,他们使用简单的API密钥,但在博客上张贴需要使用OAuth签名

回答

2

OAuth是一个协议,并有一组由一些专家组定义的规范来定义如何共享数据。 基本上你所看到的仅仅是OAuth机制的一部分,并且存在大量的通信和握手机制来确保用户数据的安全性,避免未经授权的数据访问。

的OAuth机构离开在2级

  1. 三脚认证
  2. 双足式认证

两者都有自己的优点和缺点,并有一组程序,其需要是照顾安全和数据完整性。

只允许基于access_token/consumer密钥的访问实际上是一个非常弱的安全机制,并且可以轻易地被任何碰巧能够访问您的使用者密钥的人攻击,同时OAuth系统通过共享时间限制access_token来确保。

详情请参阅此线程oauth-2-0-benefits-and-use-cases-why