12

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

我一直在我的 CURL 或 simpleXML 函数中使用用户名和密码来授权 API 调用。我不明白这与oauth有何关系。

我知道我将存储令牌,但是一旦我拥有它,我该怎么办?我在网上找到的任何内容都不清楚,它假设我是斯蒂芬霍金并且已经知道他们在谈论的内容的 9/10。

帮助我从在 http 地址中使用用户名和密码,改为使用我的 oauth 令牌。

4

4 回答 4

18

我一直在我的 CURL 或 simpleXML 函数中使用用户名和密码来授权 API 调用。相比之下,这个 oauth 到底是怎么回事?

任何头脑正常的人都不应该将他们的 Twitter 密码信任给您的 Web 应用程序,这样您的应用程序就无法代表他们访问 Twitter。OAuth 是解决此问题的一种方法,它允许用户在您不知道密码的情况下有选择地授予您的应用程序对其 Twitter 帐户的访问权限。这样,密码仍然是仅在用户和 Twitter 之间共享的凭据,没有不受信任的第三方(您)。

这就是那个废话的原因。 试着用英国口音大声、快速地说出来。*scnr*

于 2009-09-07T20:42:23.523 回答
14

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

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

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

  • 一位用户来到您的网站。
  • 您向他们展示了一个不错的链接,上面写着“使用您的 Twitter 帐户注册”。
  • 他们点击它,然后在后台向 Twitter 发送一个令牌请求
  • 你会得到一个请求令牌。
  • 您使用此请求令牌将用户发送到 Twitter。
  • Twitter 向他们展示了一个不错的页面,其中包含提出请求的站点名称以及 Plantworking 希望获得许可做什么。
  • 他们点击同意,因此 Twitter 将该请求令牌标记为已接受。
  • Twitter 将他们引导回 Plantworking
  • Plantworking 获取请求令牌,并向 Twitter(带有请求令牌)发送请求以获取“访问令牌”。如果交换成功,Plantworking 将获得访问令牌,并知道该用户是合法的。然后,Plantworking 可以根据该信息创建帐户。或者,如果您请求的权限是代表用户使用资源或与 Twitter 站点交互,您现在可以这样做。
于 2010-10-08T23:47:18.663 回答
2

当我第一次尝试使用 oauth 时,我发现这个网站非常有用。

于 2009-09-07T20:43:39.177 回答
0

查看规范以了解使用 OAuth 进行身份验证的工作原理。如果您浏览该网站,您还会发现入门指南,它将帮助您上路。

于 2009-09-07T22:29:50.533 回答