叫我一个新手,叫我傻,评价这个话题。如你所愿,我只是在这里问一个问题,并希望从中学习。
所以我今天为我的网站制作了一个API(很好地尝试),我在大多数热门网站API上注意到这个“东西”,例如Twitter,Foursquare,Tumblr,称为“OAuth”。根据我今天的研究,我发现它基本上是一种给消费者提供令牌以便从提供者访问受限数据的方式,具体取决于用户在没有用户交付密码和用户名的情况下选择的内容。
但为什么我必须使用OAuth,为什么我不能只为消费者密钥提供API而他们只是使用它?然后,我将查看用户是否允许访问该应用程序,并且他们必须为该应用授予访问权限,以便从其帐户中获取信息,例如照片。
让我感到困惑的是Tumblr API同时使用这两者的原因。它在阅读博客详细信息时会使用简单的 api密钥,但在博客上发布您需要 OAuth签名。
答案 0 :(得分:2)
OAuth是一种协议,具有一组由一些专家组定义的规范,用于定义如何共享数据。 基本上你所看到的只是OAuth机制的一部分,并且有很多通信和握手机制来确保用户数据的安全性以及避免未经授权的数据访问。
OAuth机制退出2个级别
两者都有正面和负面的内容,并且有一套程序需要注意安全性和数据完整性。
仅允许基于access_token / consumer key的访问实际上是一种非常弱的安全机制,并且很容易被任何碰巧访问您的使用者密钥的人攻击,而OAuth系统通过共享时间限制的access_token来确保。
有关详细信息,请参阅此主题oauth-2-0-benefits-and-use-cases-why