Twitter的OAuth系统如何运作?

时间:2009-09-07 20:38:28

标签: twitter oauth

我有一个演示脚本,可以让我使用我的应用程序进行授权并发回我的令牌。但这很令人困惑。

我总是在CURL或simpleXML函数中使用用户名和密码来授权API调用。我不明白这与oauth有什么关系。

我知道我将存储令牌,但是一旦我拥有它,我该怎么办呢?我在网上找到的任何内容都不清楚,它假设我是斯蒂芬兜售并且已经知道他们正在谈论的内容的十分之九。

帮助我从使用http地址中的用户名和密码转到使用我的oauth令牌。

4 个答案:

答案 0 :(得分:18)

  

我总是在CURL或simpleXML函数中使用用户名和密码来授权API调用。通过比较,这个oauth的事情到底发生了什么?

没有人会正确地将他们的Twitter密码信任到您的网络应用程序,因此您的应用程序无法代表他们访问Twitter。通过让用户有选择地将应用程序的访问权限授予他们的Twitter帐户而无需您知道密码,OAuth可以解决这个问题。这样,密码仍然是仅在用户和Twitter之间共享的凭证,并且没有不受信任的第三方(您)。

这就是那个废话。 尝试用英国口音大声,快速地说出来。 * {SCNR {1}}

答案 1 :(得分:14)

OAuth背后的基本理念是允许您在不知道密码的情况下代表某人行事。

假设你有一个社交网站(我的例子是Plantworking,无耻插件)。并且您希望使用Twitter作为第三方来验证新帐户的创建。或者您希望允许您网站上的用户自动发布您网站上的推文。

作为Plantworking的运营商首先与Twitter共享秘密:您注册此密钥并存储它。我不确定,但我猜它会用来签署你的所有请求。

  • 用户访问您的网站。
  • 您向他们展示了一个很好的链接,说“使用您的Twitter帐户注册”。
  • 他们点击它,然后在后台向Twitter发送令牌请求
  • 您收到请求令牌。
  • 您使用此请求令牌将用户发送到Twitter。
  • Twitter向他们展示了一个不错的页面,其中包含提出请求的网站名称以及Plantworking希望允许的内容。
  • 他们点击他们同意的内容,因此Twitter会将请求令牌标记为已接受。
  • Twitter将他们引回Plantworking
  • Plantworking接收请求令牌,并向Twitter(带有请求令牌)发送请求以获取“访问令牌”。如果交换成功,Plantworking将获取访问令牌,并知道该用户是合法的。然后,Plantworking可以根据该信息创建帐户。或者,如果您要求的许可是使用资源或代表用户与Twitter网站交互,您现在可以这样做。

答案 2 :(得分:2)

当我第一次尝试与oauth合作时,我发现this site非常有帮助。

答案 3 :(得分:0)

查看specs,了解OAuth身份验证的工作原理。如果您浏览网站,您还会找到可以帮助您的Getting Started指南。