1

我需要使用 webservice 连接到另一个 web 应用程序。该 Web 应用程序使用 OAuth 协议连接到他们的 api。我是 OAuth 的新手,但我确实阅读了文档 :D 。我的问题是,要将我的 Web 应用程序与他们连接起来,我需要从他们那里获得哪些数据?我基本上需要获取资源所有者的所有数据。

我想我需要:

  • 1) 来自该 Web 应用程序公司的消费者密钥和消费者密钥
  • 2) 来自资源所有者的令牌凭证

我需要这些信息对吗?

我可以保存资源所有者令牌凭证以便将来在没有资源所有者登录的情况下获取数据吗?

在他们的网络应用程序中,它说我可以从他们那里获得以下信息:

  • OAuth 访问令牌和机密 - > 这些是资源所有者的令牌凭据吗?
  • OAuth 服务密钥和秘密 -> 这些是什么?
4

3 回答 3

1

我需要这些信息对吗?

是的。您需要资源所有者通过 OAuth 流程授权您的应用程序。这由令牌凭证(过去称为访问令牌)表示。

我可以保存资源所有者令牌凭证以便将来在没有资源所有者登录的情况下获取数据吗?

是的。令牌凭证可能在到期时间、您可以访问的资源类型等方面对它们有限制。但如果令牌凭证已过期(或由资源所有者他/​​她自己无效) - 您的请求将不会被接受,您将不得不向资源所有者请求新的授权。

OAuth 访问令牌和机密 -> 这些是资源所有者的令牌凭据吗?

是的。直到最近,令牌凭证在规范中被称为访问令牌,有关名称更改的信息可以在此处找到:https ://www.rfc-editor.org/rfc/rfc5849#section-1.1

OAuth 服务密钥和秘密 -> 这些是什么?

这些很可能是消费者密钥和秘密。

于 2012-05-03T18:50:31.990 回答
1

我按照本教程进行操作,很容易理解。

于 2012-05-03T14:41:46.357 回答
0

这是使其全部工作的流程顺序。

  1. 在 API Provider(您的案例中的 Web 应用程序)上注册。这将为您生成客户端 ID 和客户端密码。

  2. 交换客户端 ID、客户端密码、最终用户 ID/密码(在 http auth 标头中采用 base64 编码格式)、范围、授予 API Provider 的身份验证服务并获取授权码。

  3. 使用 API Provider 的令牌服务交换客户端 ID、客户端密码、授权码并获取令牌。

  4. 将此令牌与其他查询参数一起使用以继续执行 API 请求。

上述顺序适用于 grant_type=code。如果您要申请任何其他授权类型,则 #2 不适用,而在 #3 中,您提供最终用户 ID/密码以直接获取令牌。

于 2015-05-13T22:21:07.313 回答