在 Nodejs 中使用 Passport 模块进行 OAuth



我是Node.js OAuth的新手。

我正在使用Nodejs开发一个Web应用程序。我的应用程序正在与第三方 API 交互以获取数据。根据 API 的文档"此第三方 API 中的所有方法在请求标头中采用 OAUTH 身份验证参数"(仅此而已(

我决定使用Node的Passport模块.JS来实现这一点(http://passportjs.org/guide/oauth/(。

我的问题是我无法理解如何进行此操作。假设我们有一个 API 方法"http://api.travel/getAllLocation",它返回用户可以旅行的所有位置。

有人可以在这里提供帮助,提供如何使用NodeJS,Passport从Web服务获取所需数据的示例。

[更新]找到了这个试图实现同样目标的答案。但是如何使用护照实现相同的目标如何在节点中发送 OAuth 请求

在我看来,

您似乎正在尝试使用 Oauth 访问其他人的 API,对吗?如果是这种情况,则需要通过执行以下操作与 API 交互:

  • 请求给定 API 密钥的 Oauth 令牌。
  • 将该令牌放入 HTTP 授权标头中,以便第三方 API 可以识别您并对您进行身份验证。

使用 cURL 通过命令行请求 API 令牌(通常(的方式如下:

$ curl -v --user api_key_id:api_key_secret -X POST https://api.something.com/v1/auth?grant_type=client_credentials

这通常会返回某种令牌(希望是 JSON Web 令牌!(,然后您可以使用它来标识自己。下面是正确指定令牌的示例 cURL 请求:

$ curl -v -H "Authorization: Bearer tokenhere" https://api.something.com/v1/blah

使用 Node,您可以使用 https://github.com/request/request 库手工制作这些 HTTP 请求。同样,如果您将我们链接到确切的文档,我可以进一步帮助您=(

最新更新