Api 对OAuth感到困惑

Api 对OAuth感到困惑,api,authentication,oauth,Api,Authentication,Oauth,叫我菜鸟,叫我哑巴,给这个话题打分。你想怎么做就怎么做,我只是来问一个问题,希望能从中学到一些东西 所以我今天一直在为我的网站制作一个API(很好地尝试),我注意到在最流行的网站API上有一个“东西”,比如Twitter、Foursquare、Tumblr,叫做“OAuth”。根据我今天的研究,我得出结论,这基本上是一种给消费者一个令牌的方式,根据用户的选择从提供者访问受限数据,而不需要用户交出密码和用户名 但是为什么我必须使用OAuth,为什么我不能给消费者密钥提供一个API,他们就使用它呢?

叫我菜鸟,叫我哑巴,给这个话题打分。你想怎么做就怎么做,我只是来问一个问题,希望能从中学到一些东西

所以我今天一直在为我的网站制作一个API(很好地尝试),我注意到在最流行的网站API上有一个“东西”,比如Twitter、Foursquare、Tumblr,叫做“OAuth”。根据我今天的研究,我得出结论,这基本上是一种给消费者一个令牌的方式,根据用户的选择从提供者访问受限数据,而不需要用户交出密码和用户名

但是为什么我必须使用OAuth,为什么我不能给消费者密钥提供一个API,他们就使用它呢?然后,我将查看用户是否允许访问该应用程序,并且他们必须为该应用程序授予访问权限,以便从其帐户中获取信息,例如照片


同样让我困惑的是,TumblrAPI为什么同时使用这两种方法。阅读博客详细信息时,他们使用一个简单的api密钥,但在博客上发布时,您需要一个OAuth签名

OAuth是一个协议,由一些专家组定义了一组规范来定义如何共享数据。 基本上,您看到的只是OAuth机制的一部分,有很多通信和握手机制来确保用户数据的安全性,同时避免未经授权的数据访问

OAuth机制在两个级别上存在

  • 三腿认证
  • 双腿认证
  • 两者都有其积极的一面和消极的一面,有一套程序需要注意安全性和数据完整性

    仅允许基于access_令牌/使用者密钥进行访问实际上是一种非常脆弱的安全机制,任何人只要碰巧能够访问您的使用者密钥,就可以轻易地进行黑客攻击,而OAuth系统通过共享有时间限制的access_令牌来确保安全

    有关详细信息,请参阅此线程